Optimization is the art of moving bottlenecks around in your ecosystem until you've reached acceptable levels of resource consumption.
(These bottlenecks and resources may be compilation time, memory usage, response time, hardware, programmer time, run time, quality, complexity, maintainability, accuracy, and correctness.)
The reason experienced developers suggest optimizing for clarity, simplicity, and maintainability first is that almost no one considers clarity, simplicity, and maintainability valid targets for optimization, nor do we treat them as such. (Perhaps we would if we had mechanisms to measure them or metrics to measure their absence, but we don't.)