A lot of software assumes a single server is fine and as a consequence doesn't even bother trying to abstract that away; the singleton nature of the software then percolates virally through it all.
On the flip side, some software actually isolates their scaling limitations and pushes the bottleneck into a single part of the system.
With the former, you're screwed if you hit your vertical scaling limits (to say nothing of what your system availability probably looks like, if scaling is actually a concern). With the latter, you can play games with your scaling, perhaps by shoving a hierarchical or replicated cache in front of your scaling bottleneck, and effectively buy time to build a solution with better scaling. (Or perhaps never bother with that, and just be acutely aware of your system's scaling dimensions, like StackOverflow.)
There's no such thing as a system that truly scales infinitely, just systems whose scale limits exceed our imagination.
(Admittedly, most bugs of the form "INT64_MAX overflow" are generally a leak and not the result of growth :).)