So it's a very interesting theory, but its also pretty much irrelevant for most of us.
The main difference between startups and big companies is the resources available to them. Startups do not have the ability to meddle in markets other than their own product, because they simply don't have enough people. They have to put all their efforts into their main product, because they don't have much effort to spare. But the most successful startups are the ones where the rest of the ecosystem already exists and they're just putting the keystone in place to change how society functions.
What he refers to as IBM's RedHat strategy may have been their motivation, but it's hard to discount the value of a proven, growing revenue stream; they may simply have thought "hey, revenue, plus some possibilities!" Likewise commoditizing the PC peripheral market: I could buy it, if they had made big money in that market. The fact they went on to spend gazilladollars on OS/2 (which had its moments) and got M$ to write it (and gave Gates an opportunity to have his engineers learn the 386 in detail while not providing any transferable knowledge to IBM, since OS/2 was written in assembler...) makes me think Joel was cherry picking.
That said, it is an interesting argument: If you do a thing that makes something else desirable AND you can make decent margins on the other things, especially if they are consumables or have a repeating revenue stream, it may be worth quite a lot to do the thing.
I'm not wholly convinced, but I am intrigued.
Your product has a complement, that complement’s quantity demanded can be increased (maybe the price could be lowered by removing a monopoly or reducing costs) thereby increasing the demand for your product (your demand curve shifts right).
But I guess whether your business can capture any of that increased demand is another story.
2. I don't use VSCode nor Sublime Text, but are they really so similar that people switch between them freely?
As a comparison, I use vim. The best vim-emulation layer I've ever used is evil-mode on emacs, but even that has some hiccups that make it hard for me to switch between them (I hate that yanking to the default register on evil-mode also yanks to the system clipboard).