This is not surprising at all.  Clearly Macs are great computers and non-business users tend to be very comfortable in the Mac ecosystem.
Just as clear though is that Apple has taken a very casual attitude towards fulfilling customer needs and wants.  Consider the holes in the product lineup;
There is no modern mini with current specs.
There are no user friendly towers at all, mini-tower, mid-tower or full tower.
There are no OSX tables or convertibles.
Apple cannot make one expensive, specialized computer, essentially one type of AIO (in two sizes), an apparently ignored laptop-in-a-box, and two, partially overlapping lines of laptops and claim to be in the computer business.
There are a lot of great PCs out there at less than $1000 that are more feature-rich and future proof than Macs are.  Sure, the readers here prefer Mac but there are a bunch of Windows fans across the world that Apple has to be competitive to.
		
		
	 
Wrong.
Those PC's are useless, and nothing you say is true. The only advantage of PC "modularity" is for manufacturers to ship more models, which is not a problem for Apple, specially in this day and age.
"Upgrading" a PC is one of those things that got a taboo with enough push from PC "enthusiasts", salesmen, hardware manufacturers, etc...
In real therms, upgrading a single part on a system, is just stupid and economically unworthy. 
If you want more performance, you can't get it just by upgrading a CPU, or RAM, or whatever. You can only get it by upgrade the WHOLE machine.
There's no performance gain in a system that runs ok with 8GB to move to 16GB or 32GB, if that memory is STILL slower, if the CPU can't access the RAM as fast.
When CPU's change appreciably, the chipsets and sockets also change, so, you won't get a radically better CPU, you get another range from the same CPU, you need to buy a radically better CPU to appreciate the difference, there's no way you'll tell the difference from a couple of MHz, yes, there are dual core, quad-core, different clock's, but that's just a small difference from generation to generation, and the best thing to do is to buy the correct CPU for your needs.
	
	
		
		
			Anyone can build a fast CPU. The trick is to build a fast system.
		
		
	 
Seymour Cray