Konstantin Kovshenin has a great post on one of my pet peeves. The lock-in effect. The rub? When you go to switch themes you find that your content is tied into the theme (or plugin) you’ve been using. Not good.
WordPress has been known for its backwards compatibility for ages. In fact, you’ll not loose your content when you downgrade (provided that you’re using the core features only,) plus WordPress provides several export options that can easily be read by other software and services. WordPress gives you control over your data so you’re never locked in to using WordPress itself. WordPress does not lock you in.
Plugins and themes are somewhat different though, mainly because developers are overlooking the WordPress API and a bunch of features which already ship with WordPress, and tend to reinvent the wheel. Another situation is where plugins or themes introduce some brand new features unavailable in WordPress so they store your data in a unique way which is not what other themes and plugins can understand. If not treated well, the lock in effect can cause loss or corruption of your data …
one of the most annoying problems was once that even changing from a child theme to its parent would be that all aside widgets (often many) would be thrown into the Inactive widgets list, when the parent theme nearly always had exactly the same number of aside areas. This was AFAIR the early days of WP 3.0, now on 3.3 its better, but i can se a use for a plugin to wizard/guide you i reassigning unused widgets that would be unassigned. I don’t have the skills for that but others might esp. the writer of widget-saver, or maybe that should be written into core.