The games that have nothing but an .exe have compiled their executable with the assets inside. This is generally poor practice. By embedding your assets into the executable, they will stay loaded into memory while the program is running, even when not in use. For your scale and with modern machines this might not be much of an issue, but as the executable gets larger, this can be an extremely large and unnecessary performance sink.
Similarly, keeping your assets separate enables the program to load into memory much faster as only the necessary data is put into memory on launch.
To give you an extreme example, think of a game like Deus Ex: Human Revolution. If it was all compiled into an executable, it would consume somewhere in the area of 8GB of memory at any given moment. However the recommended specs suggest 2GB of memory. These recommended specs are usually the maximum amount of data that the game may need stored in memory at any moment. 2GB "occasionally" is a lot better than "8GB all the time"
As for the actual process of embedding the assets, it depends a lot on how exactly you're developing. Many IDEs have functionality that will do it for you. In your situation it probably isn't a big deal for convenience sake, but a much better method would be to have an installer that extracts the assets and necessary executables for the user.