> Why do modern OSes need so much power and RAM anyway?

Because code writers are lazy and prefer to use 20 levels of abstraction or a 5MB library for a simple function.