Sure, a typical homebrew application is usually fine in an IDE. Specially if you write it yourself from scratch. If you take someone elses code however, chances are they are either using a different ide or not using an ide at all. You can't include project files for every single possible ide, so you need to settle on a standard.
A Makefile is quite simple: You tell it what files to look for, and if they don't exist or are out of date, how to build them. Due to the last part, you can specify something different for every file. Some people don't like lots of typing, so they create a c or other file that does it for them, and then when that file is compiled, it can be executed to generate files that are needed for other parts of the application.
For example, I include all the graphics with my game as the original graphics file format, but I want the graphics built into the game rather than external as its faster and more resource friendly to have one large file than 100. You just type 'make', and the tool goes away and converts all your graphics to .obj files ready to link with your main program once compiled. They'll only be converted again if the graphics files themselves change, and cleanup command will delete all the big source files which are no longer needed, so you can distribute your source code in smaller archives. After all, theres no point including the images twice.
If you develop on Linux, makefiles can be far faster than IDEs, type 'make', and it compiles all your code (generating where necessary, eg, binary data to object code or source code), links it together using the latest libraries (by using things like 'sdl-config'), and then if it was all successfull, even copying the executable and any changed data files over to your sd card or test environment and getting the target device to run the newly built executable.
But yes, you can usually do without them, but remember that they take little time to learn, and can actually speed up development