It puts them in different directories because it is usual to have both a debug EXE and a release EXE while you are working on your project, so it puts them in those folders so they dont interfere with each other. And also to keep all of the manifest files and "junk" files that are generated by the linker from cluttering your project folder, and interferring with each other between debug and release compiles.
You can change where it puts the executable it generates by altering the project settings. But I find it easier to just move the file one level down from where it generates(which is the default) so it can find the media.
If it ain't broke.... DONT FIX IT !!!