The reason is that under Windows XP everyone used Administrative accounts to do everything. The problem with that is if you're an administrator and you happen to, say, click on a malicious web page, the web page has full administrative rights too. It can go ahead and install anything it wants on your system - viruses, keystroke loggers, adware, etc. etc. etc. Same goes for e-mail attachments and a host of other risks.
Using an administrative account all the time is BAD security practice. Very, very bad. It's like leaving all your doors and windows unlocked because you can't be bothered to fish a key out of your pocket every time you come home.
It became fairly obvious that there just wasn't any way to convince people of how bad it was, so Microsoft invented "UAC" (User Account Control) for Vista and Windows 7. What UAC does is REMOVE your administrative privileges when you log on to an account that has them. If you run a program that requires administrative privileges, UAC warns you that a program is trying to acquire them and lets you permit or deny.
Now, if you click on a malicious web site or open an email attachment that contains a virus, you get warned that something is going on. It's up to you to be vigilant and not just blindly let programs do things unless you know what program it is and what it's trying to do.
It's like opening your door up to strangers. You'd do it if, for example, you made an appointment for someone to come and clean your carpets and the guy at the door is wearing a "Carpets 'R Us" uniform. But if a stranger shows up at your door unannounced, they'd better have a pretty convincing story before you open that door.