The Arduino IDE is indeed great for quick sketches and learning. It is definitely one of the reasons why Arduino is so popular.
For more advanced users, who work with a lot of home-made libraries and do bigger projects, the Arduino IDE might be a bit limited. Especially if you are used to work with something like XCode, you get used to code completion and all the other nice features.
It seems there are two types of users: the beginners and quick sketchers who don't need to have many files open or code completion, and the more practiced users who are used to write C++ with header files etc... who want to use a more feature rich IDE.
Because of this me and some other people have been making XCode project templates for developing for Arduino with XCode on Mac OSX. Rey Vilo seems to be working on XCode4 support here: https://github.com/rei-vilo/Xcode-for-MPIDE-Arduino
and mine (only XCode 3.2) is here: https://github.com/timknapen/Arduino-With-XCode
Also there is this nice page: http://www.quietless.com/kitchen/setting-up-xcode-to-compile-upload-to-an-arduino-atmega328-duemilanove/
I am not a makefile specialist, so anyone who knows a bit about that kind of stuff is very welcome to suggest changes to make it more flexible and easier to use (especially the including of libraries and switching between UNO/Duemillanove/... )