But it's implementation leaves much to be desired. Since I haven't seen one yet, I'm going to go through a list of flaws with Apple's implementation of custom keyboards. Most of these are very well fixable by Apple, but I feel that lazy design on their part is the main reason I even have to bring up these points.
The iPad is neglected by keyboard developers
An issue that affects both larger Android tablets and the iPad alike, this isn't strictly Apple's fault. The main problem with custom keyboards on larger tablets, such as the iPad, is the fact that they don't have a split-screen view like the normal iOS keyboard has, meaning that on the iPad, typing with custom keyboards is a pain at best, for those of us that don't want to swipe our way through words; there are even keyboards on the App Store that don't support swiping to enter words (Fleksy is a good example), and still don't have a split screen view.
Even moreso, if you take a look at the screenshot posted at the top of the page, you'll notice that the full-size iOS keyboard and custom keyboards alike take up an obnoxious amount of room in landscape mode, while it's particularly hard to type in portrait mode with a full-size keyboard. Apple has a sufficient solution for this, as mentioned above; the split-screen keyboard. Custom keyboard developers, on the other hand, seem to not really care quite as much about how usable their keyboard is on the iPad, and seem to be adding compatibility in the first place just to get extra sales. Split-screen keyboards have been a long-requested feature on keyboards like Fleksy, and while the developers claim that it's in the works... Well, that post was made on May 2nd, 2013, and a reply was made around 24 hours later. Keep in mind this was back in 2013, and now, with 2015 fast approaching, such a thing isn't available for the keyboard that doesn't at least have an excuse (whether it's a good or bad one is a different story), unlike Swiftkey and Swype.
Keyboards aren't granted the integration they should have
While custom keyboards can finally be selected as your default keyboard, the way that it tends to work out isn't that intuitive. For one, if you have multiple custom keyboards, you can select which one to go to from the stock keyboard by holding down on the globe. This functionality wasn't available in any other keyboard I tried, only going to the next keyboard in the list when you press the globe.
Even further, Apple improved their autocorrect a lot in iOS 8, called QuickType, but developers are still forced to implement their own version of autocorrect, instead of using the one built into the system. While this isn't a problem for predictive text apps like Fleksy and SwiftKey, and swiping apps like Swype, this is a problem for a multitude of other keyboards since their autocorrect functionality can vary severely between different keyboards, or, even worse, the developer may not even add such a feature.
Apple's shoddy description of 'full access' on keyboards
Apple added a functionality known as "full access" to keyboards, which, when enabling it, gives you a pop-up stating that "full access allows the developer of this keyboard to transmit anything you type, including things you have previously typed with this keyboard. This could include sensitive information such as your credit card number or street address." I find it important to mention that this is a generic description; there is no permissions system on iOS like there is on Android, so this notification will more than likely scare less experienced users because the toggle isn't explaining everything that full access does (only the scary things), and there's no verification with the keyboard itself that it even transmits this data. Apple screens these for approval manually, so I don't think it's hard for them to check if data is being transmitted to a foreign server, like from the developer, for potentially malicious purposes.
Full access is required for functions such as the developer-implemented autocorrect to even work, among other things, hence why most keyboards ask the user to turn on full access. This shouldn't be a requirement, and such functionalities shouldn't be locked down if full access isn't enabled. Not only is this in and of itself a security risk, it's also a turn-off for the consumer to that keyboard.