Because like every other provider, there are "tiers" and channels are allocated to a tier depending on how much it costs/earns the provider to carry the channel, how popular it is and how much exclusivity they/the channel creator wants. So certain channels (largely the most popular like sports or movies involve a premium tier.
Why do I have to upgrade to large from M+ purely to get one extra channel? I don't want or need all the other channels.
You don't. Just downgrade to M TV (which saves quite a lot) and get a Now TV box with an entertainment pass. Even better, you get Sky Atlantic and ITV Encore which aren't on Virgin gratis. They often have offers ate Tesco, John Lewis etc. for the box + three months for £15 or the pass can be found on eBay for £10 or less.