After the parameters are set, and the amount the OS can use to "swap" for it's normal operations, the rest is simply wasted if we're not using it.
What is cached in RAM is just sitting there, not using any CPU cycles, but ready to get pushed to the front and appear on the screen as fast as it can, and not use the extra battery needed to start it up from disk again.
The software is better, the hardware is better, and the folks writing the apps are getting better at it with better tools.
We're going to use the HTC Hero as an example here, because we don't talk about the HTC Hero enough anymore.
By today's standards, the hardware and the software on the Hero suck.
It sucked the same when it was new, but at the time we didn't have Bionic's or Thrill 4G's to compare it to.
We only knew that there were three ways to make it run faster -- yank HTC Sense off of it, use a task killer, or tweak the system a whole helluva lot.
Two of those options need root access -- so that puts 90+ percent of users out of the picture.
Normal people don't root their phones, and Harriet Housewife (or Tommy Textgod) are normal.
That's what your phone (or tablet) has to consider.
Loading Google Talk to RAM once, and having it there to open almost instantly is far better than loading it each and every time you want to use it. It's not like you'll never use it again, and nothing else is going to use that RAM while it's sitting empty -- at that point, it's wasted space.
You will also use a lot more battery power re-opening Talk every time you get a message than you will by having the zeros held as ones on your RAM.
The folks who built Android really did know what they were doing when it comes to memory management.