Probably the oldest, yet extremely popular design problem is overdesign. Designers of iPhone applications often tend to disregard common design and usability conventions by offering users slick and shiny user interface designs that go way beyond their standard look and also way beyond their claimed functionality.
Why make things look, feel and work complicated and why do designers like to re-invent the wheel? The answer is simple: they want the application to be different; look different and stand out from the crowd. Unfortunately, a different look isn't necessarily helpful for application's usability and functionality.
One of the best things about iOS, from a user point of view, is that there is a standard "look and feel" that is very clear, clean, aesthetic, and useable. Redesigning it is a lot of work, and you're unlikely to do as good a job as Apple did.
As Alex points out, standard input fields can be styled in ways that respect your application's branding without reducing the application's functionality.
Does the same apply to Android apps? Web apps? Desktop apps?
Yes, to a more limited extent. On Android, there is less of a "standard look" (which I would argue is a flaw of the platform), so unique-looking apps will not look out of place. On iOS, they stand out like a sore thumb.
On the web, again, there is less of a "standard". That said, there are still standard web controls, forms, patterns, etc, and straying too far away from them will confuse and therefore lose users.
Finally, on the desktop, it really depends on which OS you're talking about. Mac OS has as much design integrity as iOS. Windows is a hodge-podge of different style (even Microsoft can't keep it straight). Linux is a complete free-for-all, with themeability rated higher than usability.
If you read this far, you should follow me on twitter here.