I often see death by a thousand cuts - everything is slow and there is no single obvious hotspot to fix. We should not assume that performance matters only for a small fraction of the codebase. Sometimes it is the case, sometimes not.
And UI is a bad example IMHO. UI with a high response time which is uncomfortable (or even frustrating) to use is probably the result of thinking that UI performance doesn't matter.
I think sometimes this exact point is lost in the context of a collection of programs that represent a system rather than simply in the context of a single program.
Truly bad UI response time is rarely because of a performance hotspot though. It's almost always unintentionally blocking the UI thread on network requests. I might get mildly annoyed using a sluggish UI, but I get perpetually annoyed whenever I'm doing almost anything on my phone and leave my house's wifi range.
It may be not performance hotspot by which we usually mean CPU intensive code but some other performance problem which typically happens when performance is ignored. Networks don't have infinite bandwidth, zero latency and 100% reliability but I see some people create software pretending that all above is true. It works sometimes (until it doesn't) but can work better had they tried to minimize dependency on remote hosts or make network interactions asynchronous.
My opinion is that performance as well as security is very hard to retrofit if it was not considered from the beginning. And if you have necessary knowledge it doesn't take much more effort to create software which is faster (or more efficient) and secure compare to software created by an ignorant developer.
I heard many times that one should write a program first not thinking about performance, then profile and optimize a few hotspots. But in my experience 2nd part (optimization) rarely happens and people who can profile and optimize usually also can write faster code from the beginning.
It is painful to see how people who don't know and don't want to know typical latency [1] and throughput numbers, who don't know about algorithm complexity and may other things design and implement very inefficient software.
And UI is a bad example IMHO. UI with a high response time which is uncomfortable (or even frustrating) to use is probably the result of thinking that UI performance doesn't matter.