WordPress consultant, Konstantin Kovshenin has published an excellent guide describing what theme/plugin lock-in is and how to avoid it. This is a topic I’ve been thinking about for a long time but have never been able to put into words for a post. The biggest culprit in my opinion when it comes to lock-ins are themes, especially commercial ones. These themes not only come with features that make it unique, those features sometimes store or alter data in a way that makes it very difficult to switch themes or even upgrade WordPress. The first comment on that post by Diane illustrates my point exactly.
This problem is even more pervasive than articulated here. The theme options of many commercial themes create functionality unique to that theme and then if you want to make a change, boy are you screwed. We see this problem with clients all the time.
Looking back at my history of using WordPress, choosing the right theme based on looks, options, and functionality was one of the toughest decisions I would have to make. I think I’ve only switched themes five times or less for both my personal site and WPTavern.com. Quite frankly, switching themes is a giant pain in the ass. Widgets become messed up, the layout is screwed up and although I like themes with options, I have to read the manual to figure out how to get the layout I like or at least, witnessed on the demo theme. Once I have a theme configured both functionally and aesthetically, I try not to do anything to disturb it. I get sick of the layout sometimes but the thought of switching themes and how much work that entails always settles me down into sticking with the current implementation.
Definitely read the comments at the end of the article as Mike Schinkel carries on an interesting conversation on ways or methods on which this entire situation could be improved.