USB sockets also lock you in to using USB leads.
You're missing that point that anybody can make both USB sockets and USB leads with a very minimal royalty payment.
What if only one company made USB sockets (Microsoft) and they charged $100 for it (Windows). Then, once you did pay and had your USB device working, they stopped supporting the current USB standard, which encouraged your device manufacturer to stop supporting it. Then, all new USB devices would only work on the new USB sockets, so if you buy a new camera/scanner/mouse/keyboard/whatever, you can't plug it in to your current USB socket, and need to pay another $100 to get the new socket. If Microsoft didn't see Windows as a profit center, but instead used it as a platform to get you to pay for everything else they do, 90% of the complaints about them would stop.
I didn't mind paying for the first versions of Windows, because they gave me something I didn't have: a windowed UI. Then, Windows NT gave us real multi-tasking and 32-bit code. Windows 2000 and XP were just more polished versions, although XP gave us 64-bit that wasn't supported much. Windows 7 finally gave us 64-bit with real support. Windows 8 is just a different UI. So, the reality is that over that span of nearly 20 years, I feel like I should have paid "full price" for about 3 versions (truly major upgrades), and some token amount (about 20% of the full version price seems right) for the "maintenance" releases.
Instead, if you wanted to play the latest games, you had to upgrade to XP (2000 was just fine for running productivity apps) and 7, and even before the end of support of XP, you had to upgrade to 7 if you didn't use an alternate browser (unless you like getting burned by the most common security exploits). Then, add in that the more recent OS often don't have drivers for older hardware and have a lot more system requirements, and you end up with Linux getting traction because of this endless cycle.
Although Linux is really hurting the inroads that MS made into the server market, it will never touch the desktop until it's just as easy to use. It will never be just as easy to use as long as there are 14 different Linux distributions with 43 different GUI implementations (numbers pulled out of my ass, but you get the picture). Until there is one GUI, no large percentage of companies will heavily invest in converting to a Linux desktop because they won't want to train every new hire in how the system works. And yes, I know that the vast majority of people don't do anything complicated, but things like connecting to a network share, changing the screen resolution, changing the GUI colors, playing a video, scheduling a meeting with co-workers, etc., are all things that real people do and which have to be easy and consistent. In addition, until all the standard software is available (no, Linux doesn't have to have Microsoft Office, but it has to have a package that does everything that Office does, and Open/Libre Office ain't it), there won't be a large shift, either.
I maintain Linux servers for a living, but I still use a Windows desktop (even though my employer does support Windows, Linux, and OSX for personal desktops) because it still is easier to get everything done using that. I have lots of options to get to a Linux system and run programs (both text and GUI), and not everyone in my office uses the same toolset as I do. But, the other direction is painful. Without Windows, you can't easily find out when everybody is available for a meeting, and can't stay logged in to your e-mail (OWA times out, while Outlook does not). I can connect to a Windows share from a Linux system, but I can't adjust the ACLs. With a Windows desktop, I can connect to both Windows and NFS shares and adjust the ACLs.