To do something similar to Windows, basically what you'd do is start with RHEL 6 and continually compile the latest stable version of userland apps (by "apps" I mean, not things like gcc and libc, I mean end user programs that a casual user will be familiar with by name) and ship them as automatic updates.
It's not impossible to do that. A vast majority of applications have backwards compatibility with system libraries and kernel APIs, meaning that you can compile, for instance, GIMP 2.8 on an old system, or LibreOffice 3.3. Some things will be more difficult to do (and riskier), like upgrading between the 4.x versions of KDE or upgrading from GNOME 2 to GNOME 3, but the minor releases for sure should be possible to do risk-free, and many distros still don't do that.
I also like how Fedora often updates the kernel to the next version on their stable release. Linux 3.3 is now the standard on Fedora 16, whereas it shipped with 3.2. It's a nice touch and a step in the right direction.
On the other hand, you don't want to go willy-nilly just updating every single package on the system to the latest stable. That's called ArchLinux, and while many people can deal with the potential upgrade breakages you get from that, non-technical users can't.
There's a happy medium somewhere between Ubuntu and ArchLinux, but nobody (to my knowledge) has yet implemented a distribution upgrade policy that exactly nails that happy medium. But there's no theoretical reason why it's impossible. You just have to identify all the programs that are true applications and not just infrastructure, and separate them out and keep them updated. The user doesn't care if they have libc 2.18 instead of 2.19, but they do care if they have Firefox 8 instead of Firefox 12.
I've experimented with this in the past on CentOS 5 and 6. Start with base distro and start installing newer versions of apps. I was generally successful, but in most cases I had to compile from source. A distro could do that for you.