Of course you can use the GUI-less route. In my case, I don't use emacs, but normally gvim (not the same, but enough), and it is also posible to make the sketch within the editor. But if I work in other PC where I have not vim nor emacs installed, then I have to install Arduino and emacs/vim, or if I want to explain my students how this stuff works, then I have to explain them more things, or if I don't want to do any set-up and start working quickly... well, I think there could be many reasons to stay within Arduino.
I think the success of the Arduino platform (both hardware and software) is mainly based on its simplicity; almost Plug&Program. You go with your Arduino in your pocket, an USB cable, and a connection to Internet (or the Arduino soft in a pendrive) and that's all you need. Of course, we can use more sofisticated tools like AVR Studio, IAR, development kits, emacs, etc... and you should better use them instead of Arduino if you are developing a minimally complex application (I mean, if you need debugging), but still I find Arduino is better suited for simple applications and of course for non experienced users.
I think that including the compiler flags in the preferences file wouldn't be difficult, and could help to people that, like me, don't want to jump to more complex environments if the application doesn't require it.