At the MSP firm where I work, we've taken this "spares are better than warranties" philosophy to what I consider its logical extreme.
We haven't bought a server from a big-name OEM in our last two generational server upgrade cycles. Previously we had a rack full of Dell systems and sold them almost exclusively to our client base; now we have racks full of Supermicro equipment we purchased through a low-markup system integrator, and for the servers we resell to our clients I tend to assemble them myself. My company has taken on the role of providing the warranty for this equipment, both for our own infrastructure as well as what we resell. The reasoning was simple; for the cost of every Dell we were getting quoted, we could purchase two Supermicro-based whitebox systems of identical or better specifications. When we resell servers to clients, we tend now to sell them in pairs - one armed with full SSDs for their primary load, and an identical one but armed with mechanical storage at triple (or greater) the capacity of the primary server's array to act as the backup + disaster recovery host. Because these aren't Dell/HPE/Lenovo/whoever systems, we can still compete on pricing with our area competitors, while offering a significantly better disaster recovery scenario than any single server scenario could offer.
We used to buy Force10 (prior to them being purchased by Dell) switches - relatively high end expensive things at the time. The last time we upgraded core switching we bought relatively inexpensive Netgear stuff. Sure, nobody is coming onsite to replace one for us, but they were 1/3 the cost on a per-switch basis.
And finally, the last time we upgraded our own infrastructure in our datacenter we brought a few of the older systems back to the home office. We bought some inexpensive disks to put into them, consolidated RAM from other systems we were retiring and installed as much as possible into these servers. And now we have a small stable of frankensteined 'loaner' servers that we bring onsite to our clients for a variety of reasons. We use them in failure scenarios if clients don't have their own backup infrastructure, we use them in swing migrations and upgrade projects, and we use them in proof-of-concept demos for clients. Given their age they're not magnificently fast or anything, but almost anyone will accept 'working slowly' over 'dead in the water' when in a failure scenario.