And because of how VM works every system is potentially memory deficient. You can try to curb it's use and sometimes control individual process' memory usage, but you can't account for everything that might happen. Leaving a pagefile there just in case is just smart.
Actually, I can and do account for everything that might happen. (That's my job. I'm a system administrator.)
As you said, a pagefile is smart if it costs you nothing. For home use where you don't really care about performance, I can see someone thinking it's no big deal. But in principle I'd argue it's really not the best practice. Let me explain why I think so.
At work I'm responsible for literally thousands of 24/7 production VMs. Everything is [over-]provisioned quite well, but occasionally there are memory leaks that crop up in the application code. We usually catch them before they hit production; sometimes we don't.
The best a pagefile might do in this scenario is give us a little more time before it too is consumed by the memory leak. It certainly doesn't fix the problem, it only delays the inevitable. That's bad in itself, but there's a far larger concern. Performance.
One of the things we provide is a rather large customer-facing service that must respond to requests in real time. The last thing I want is for one of those VMs to hit a pagefile if it's having a problem! That would immediately trash our SLAs as it continues attempting to serve requests. Several million customers could potentially notice, and there is a potential for a huge loss of revenue. Having a pagefile is definitely not cost-free.
In this scenario it is several orders of magnitude better performance-wise for a given VM to simply run out of memory and die off. That way it is taken out of the pool by the load balancer immediately, and the memory problem isn't hidden from us. Somebody pages me right away, I swear quite loudly, then get up and get to work. The problem gets resolved and documented and we roll out a new image with the fix.
This setup makes us very nimble. In fact, not only do we not have pagefiles -- we don't write to local disk at all. Live migration of a VM to another host for any sort of maintenance is a breeze.
So yeah, I've gotten in the habit of not relying on the pagefile at all, even if perhaps I could "get away" with it at times. To me it's effectively ignoring an underlying problem, and that's just a very bad habit for a sys admin. The only reason I'd enable a pagefile is if I *couldn't* fix the problem otherwise, and that has only happened once to date at home.
It was when I tried to run Civ V with only 4GB. The game only really needs about 800MB RAM, but it also wants to cache a huge amount of data in memory. For whatever reason, Windows would not free that memory cache like it should, at least not in a timely fashion. So lacking a pagefile, it would crash whenever the memory cache eventually filled up the RAM.
Ultimately the fix was to *temporarily* add a pagefile, which kept it alive but was horrible on performance. I kept it that way just long enough to get to the computer store and back with new DIMMs. Turns out it needs about 4.6GB before it runs out of things to memory cache. Memory is cheap; I'd much rather pay out some cash vs. page out some cache.