Which keyboard should I use for XXXX script, or specifically for ZZZZ language?

There are all kinds of keyboards out there, but what are the advantages and short-comings of each? This is a place to compile recommendations. (If there is not yet a sub-section here for your corner of the world, please add a child page and contribute your knowledge. -Thank you!)