Have you tried using the Android Compatibility Library? It has several bugs, well documented with repro steps, that aren't even triaged. So now there's tons of Github forks, each with custom fixes. And when Google releases an update, all hell breaks loose.
As an exercise, try converting a mildly complex app from using Activities to using Fragments. I guarantee you that you will need to sacrifice some functionality (for instance, try using ViewPager with ListFragments, and implement keyboard filtering). Now, hack stuff till you're only sort-of broken. Then, try to make it work from v1.6 to v3.0. Then, test it all in the ass-slow emulator (because you're unlikely to have devices running all those versions). It'll drive you insane, I promise.
As an exercise, try converting a mildly complex app from using Activities to using Fragments. I guarantee you that you will need to sacrifice some functionality (for instance, try using ViewPager with ListFragments, and implement keyboard filtering). Now, hack stuff till you're only sort-of broken. Then, try to make it work from v1.6 to v3.0. Then, test it all in the ass-slow emulator (because you're unlikely to have devices running all those versions). It'll drive you insane, I promise.