Well, xcode clearly has MANY more features than the arduino editor. If you're used to developing software usng Xcode, or Eclipse, or Emacs, or whatever, you're likely to somewhat frustrated by the primitive simplicity of the Arduino IDE. OTOH, none of those are set up to do the same things that the Arduino IDE does, so you have to go to some effort to upload code, or monitor the serial port, or select different boards. And if you're NOT experienced with Xcode/etc, then they're a more complicated environment to learn. The Arduino's primitive simplicity is a feature...
Besides, Arduino sketches tend to be relatively small, and some of the features of a more advanced IDE are less important for small programs.
I'm a vetern EMACS bigot, and I find myself using EMACS to edit sketches if I have complicated editing to do. Then I fire up the Arduio IDE on the same sketch for the compile/upload/debug part of the cycle... It's not a big deal.