Since I moved away from rolling everything by hand and hopped on the web framework bandwagon, I haven’t looked back. Having the ORM tied into the URL dispatcher and templating engine in one unified API is really nice. Everything I’ve needed to build in a website is handled.
However, since about the same time I started using framworks AJAX started making a come back. At first most of the clients I worked with didn’t take notice of it. As it gained traction however, the whole thing started to change. Now more than a few years on most clients practically expect it. It’s almost taken for granted.