I have been using an N900 for almost a year, and I think it's a great "phone". Excellent voice quality, great microphone, easy to call people, and the best reception I've had with any device. It works well with all my hands-free stuff, and it works very well as a "phone".
Posting this on an n900... Very low battery life, bad touch screen, sluggish ui. Why on earth did they cripple the default shell?
The keyboard is pretty nice. When someone is calling you, the answer and decline button jump around in the screen, and I always hit the wrong one. This is because of the orientation sensor and the slow ui rearrange.
Most browsing frustrations go away when you start using Opera as the browser.
Most of the bugs in the builtin apps could have been fixed relatively easily, but I guess they restarted with a different ui paradigm after N900.
Never used android or iphone so don't know how bad they are.
Ah, I forgot about that! I originally fixed that by installing a modified hildon desktop, but that's been incorporated in the community SSU: http://wiki.maemo.org/Community_SSU
EDIT: I also had to force the phone-ui to landscape mode so it wouldn't jump around on me.
What complaints do you have?