UAC at least in Windows 7 works as advertised though.
Windows NT and Windows 2000 were a pain in the bum for doing administrative tasks, you had to log out completely then log in as an Administrator. Thus people got into the bad habit of always running as Administrator.
Windows 2000 had a hack that if you renamed something to 'setup.exe', it'd ask if you wanted to run the program under another account.
Windows XP extended that so you could right-click on any shortcut or .exe file and select "Run as", it still wasn't anything complete. A plus though, you could at least switch user.
Then UAC came along: and it had the smarts to prompt you for an administrator log-in. No more having to log out or switch user. In Windows 7 I've set up two machines like this: the normal user account is a "Power User", and for administrative tasks, there is a separate "Administrator" account. Even my mother can figure it out. It Just Works.
It's basically the 'su' feature that Unix has had for decades. Finally Microsoft has caught up on that front, now if only they'd pull their finger out and fix up the rest of the mess.