Here you have one of the fundamental differences between abstract computer science/electrical engineering, and modern practical end user computing. There isn't a contradiction at play per se, but a difference in perspective and goals.
to put it bluntly, they are thinking of servers and supercomputers, and hundred-user mainframes, and the large, constant workloads that come with them, whereas the end user is thinking of loading web a web page once and reading it for 10 minutes, or opening a document and editing it at human typing speed, or maybe at most ripping a DVD, or running a virus scan, or playing a game (cpu intensive tasks that take more than a couple seconds, and whose primary bottleneck is IO speed).
both of these mindsets optimize the most important characteristic of their environment, time versus cost and power consumption.
if you are running a High performance cluster that runs mathematical calculations on batches of radio telemetry or runs advanced continuous simulations, or has capacity for hundreds or thousands of users, you think about things differently. a few milliseconds of inefficiency in each calculation a sim performs could manifest in years of difference in the processing of a large dataset.
the client user however is more focused on just being able to multitask a goodly number of small short lived loads, and is more concerned about affordability, low power usage, and quietness than they are about millisecond differences in computation time.
NOP
).