Here's my assessment of Android keyboards I have tried:
SwiftKey -- Best auto-correct and text prediction I have tried. I used it for months, but stopped because I didn't really like the landscape keyboard layouts.
Swype -- Best gesture typing keyboard. Great for one-handed typing. My current portrait keyboard.
Kii -- My favourite landscape keyboard because it has a landscape layout I really like over and above any others. Unlike other keyboard, it actually has a Canadian English langauge setting. Auto-correct and text prediction are OK. My current landscape keyboard.
Thumb -- This keyboard has many different layouts. It has a wider selection of keyboard layouts for landscape and portrait orientation than any other one I've used. I used it for a while because of the different layouts and before I discovered SwiftKey and eventually Swype and Kii.
Google Keyboard -- It's free. Not quite as good as Swype for gesture typing. I used this for a while and found it to be almost as good as Swype.
MessagEase -- Near error free typing without needing auto-correct, if you are proficient with it. Non-QWERTY layout and typing method. This keyboard has only 16 big buttons for all letters and symbols. How? It uses either a tap or a directional swipe in a cardinal or diagonal direction for each character. This allows 16x9 = 144 different characters. When typing on this, if you want to type a particular letter, you are almost always guaranteed to make no mistake. The catch and it is huge is that there is a huge learning curve. I tried it for a few days and didn't feel like putting in more time to get proficient in typing with this keyboard. If you have the patience or are just really sick of miskeying using a traditional QWERTY layout, give this a try.