In some cases, software, and even hardware, is usable only when connected to a vendor's proprietary service. A very widespread example of this is mobile phone carriers, who sell hardware and software that, for the most part, are only good for their service. If you stop paying, your hardware and software become inoperable.
But this is the case for other widely-used software, such as, increasingly, games. Most of today's hottest games are primarily internet-based, and you play by interacting with other users over the internet. The industry has been slowly shifting from that multi-player use being a free value-add to being the only method of playing, and the connection to the online world of the game, with a monthly fee, is necessary for the game to be played at all.
In most of these cases, the various components, such as the software and the service (and sometimes the hardware) are seen as inseparable parts of a complete package, and they are. But they are also an example of the most successful and complete lock-in.
Ways of Combating Lock-in
So how can customers combat the various forms of lock-in? Well, they've been trying, with various degrees of success, for decades. The fact is, there are some forms of lock-in that are especially injurious to the user, and others that aren't. Some of them, such as the gaming example, are really quite useful the way they are, are straightforward, and therefore don't call for any kind of active resistance. If you're not interested in paying the monthly fee, then buy a different kind of game. Similarly, if you detect lock-in that you feel might set you up for onerous terms in the future, then you can vote by not buying or using those products.
However, there are many forms of lock-in that are not so avoidable, and can, and perhaps should, be resisted. Various tactics have been tried over the years, and some have worked: Building isolation layers or emulation in software that breaks down artificial barriers is a high-tech solution with promise and a storied history. Promoting and defending open standards with teeth has had success, but only when it's resistant to Embrace, Extend, Extinguish. Promoting platform-independent development environments like Java and CGI-based internet applications has worked well, and the attempts at co-opting popular closed platforms, APIs, formats, or standards, such as the Mono project or Word or Photoshop file formats is another.
The software industry is pretty unique in the amount of control that a vendor can exert on its users throughout that user's experience with the product. Manufacturers of other products can only dream of that control. But users can, and should, push back when necessary, lest the industry run roughshod over them. We can't forget that software companies exist first and foremost to make money now, and set themselves up to make more money later. Even the free software movement has a larger goal of influence and market control in which you are a mere pawn. Seeing and recognizing the various methods of lock-in are the first steps in being a contentious advocate for your own consumer software rights and forcing the software makers to be user-centered and look out for your long-term interests.