When it comes to Android keyboards it's hard to beat Swype, but sometimes an alternative keyboard is useful too.
For example, highlighting and inserting with pinpoint precision is a lot easier with cursor buttons,
Edit: Swype has cursor buttons, but they can be hard to find. Swype from the Swype key to the SYM key to make 'em show up.
GO Keyboard did a pretty good job, but I trashed it when I found MultiLing Keyboard.
MultiLing Keyboard does not ask for internet access, which is a very good thing for an app that can see any password you tap into your phone.
It comes with cursor buttons, of course. Its unique selling point is that it makes it really easy to enter special characters like ¿¡~°£ etcetera. You can even tell it which special characters to pop up when you long-press the period and comma keys. And it lets you decide for yourself if smilies should be noseless or not, as in :) vs. :-).
• MultiLing keyboard