The Unfortunate Fact about the UIDo you know what is unfortunate? Of course you do. I named it in the title. But, you probably know what I mean. If you do not... Then perhaps you should rethink your occupation. (Or you are just very new at this)
The User Interface is probably the most important part of your app (Besides it being able to accomplish what it claims it can). Even if one app has more features, the better looking one will win out. Now this is a problem for most of us. We are programmers, not designers. The UI is something that doesn't usually come naturally. Although to many people who aren't in this field, the job of deciding where elements go seems useless, there is quite a lot to be said about it.
Now placing things in a way that makes them available, but not cluttered is the key. Now, after a while, this part gets easier. But customizing the actual elements is the sad part.
As programmers, most of us are unfortunately not graphic designers. What is really bad about this is that we actually can come up with a fantastic vision, but unless you have a graphic designer, no way to implement this yourself. I personally find myself customizing things using textures I get for my websites, which are free for commercial use. I still do some graphic work, but nothing big. Definitely no way to start from nothing.
As an example, consider these three images. Each on is a UIToolbar that is used on iOS apps. The default one is shown first. Although not bad, it appeals to users if you customize that. The second shows my custom bar. The third, is one that another programmer posted on Stackoverflow, but was created by a designer.
As you can see. The later of these is the clear winner. I wish I could create something that nice, but I can't. Mine is a textured toolbar, and looks better than the default, but is nothing compared to the last one.
I really don't have a solution for you guys. It's a problem, and there is nothing we can do about it. Just do the best job you can on it. That's all.