The large amount of devices makes it extremely time consuming and challenging to work with Android from a development and testing cycle stand point. The feature support is not consistent across all devices, so when developing support for features, let alone newer technology, it is difficult to standardize support across all of them. A developer may find that they are able to make a feature work on some devices, but as they expand their testing they find it does not work on all of them. Typically, a developer is faced with the decision of deciding which devices to support and which ones not to support.
Development in iOS, on the other hand, does not face as many challenges. There is only one device manufacturer so the amount of unique devices is much more finite and the development and testing cycle is not as challenging. Yes there are different versions of the iPhone, iPad, iPod, etc, but it is limited and a developer can clearly state that a feature is only supported in this version and above. Android developers have a much more difficult time stating which models support the feature.
More often than not, a new feature is released on Android and appears to be working properly, but it is only after it is released that someone informs them that it is not working on some outdated or obscure model that was not tested. This is the trade-off that Android developers must balance, releasing a new feature as soon as they can, yet making sure it works on as many devices as possible.
Most experienced Android developers are able to create features that are supported by most devices running a particular Android operating system version, but there are still many uncommon devices that are never tested, so uncertainty remains around whether they will support it or not.
The fractured Android device market is not going away anytime soon, and it is one of the reasons why Android has been able to make inroads into the mobile device market and be able to compete with iOS. Developers need to be aware though, that Android development is much more challenging and time consuming than iOS, and there will most likely be less certainty, compared to iOS, around the true level of support.