Okay so why is it so bad, I run a firewall and antivirus. I also know what I have installed on my pc
Because the windows NT security model was never designed to be run for day to day usage with admin privileges, therefore admin privileges allow all manner of access that can be misused. (just as you wouldn't routinely run Linux from the Root account)
Basically, with the computer running in admin mode, every process and program has access to everything unrestricted and without warning. Think of it like your bank account. Would you give every payee from your bank account the facility to view your balance and do what they like, trusting that they would only take what they should?
With Windows XP, running as Admin rapidly became the norm for a variety of reasons (mainly software migrating from windows 98 that didn't follow the multi-user security programming guidelines correctly), and carried on being the norm because many programmers wrote their programs for XP assuming that they would have administrative access to the PC, in contravention of the developers guidelines for the NT platform.
Running as admin breaks the fundamental design restriction that should be in place around programs that means programs cannot interact with unnecessary parts of the OS. For example, a program should not need to write to Program files in normal running. It should not need to update information within the system registry, and so on. Allowing them to do so causes a variety of potential problems, ranging from providing easy access for malware to get access to high level processes to simple program crashes causing cascading damage to system files.
UAC was designed to counter this problem, in a variety of ways. For a start, it enforces the seperation between user, program and OS, and forces the user to confirm when a program is trying to breach those barriers, via privilege escalation. Secondly, it uses virtualisation to manage programs that request to write to the system registry actually write to the user registry (as they should have been programmed to do in the first place), same with system files where it can. Thirdly, it provides a secure enviroment for programs where you can restrict them even further (eg IE7 Protected mode and Google Chrome both use this). Finally, it alerts you if a program is doing something you might not expect it to. It sounds a small thing, but when you understand why UAC is asking for authorisation, you can consider whether you really want to use that program, especially if you don't know why it's requesting it and there's no good function that would require it.
You can say that you know what's on your PC all you like, but there's a reason why XP was considered a very insecure operating system by many, and it wasn't technical, it was user related, and user usage. I likened it earlier to a hole in the floor. It's fine to walk around it, but one day, you might forget, or something might distract you, and in you fall, and a simple trapdoor over the hole would have prevented it without really inconviencing you. UAC is the same. Sure, it can be annoying at times, and I'm certainly known to use TweakUAC when setting up a fresh install (I don't turn UAC off, as this stops the virtualisation which is more problematic), but generally, it's a good thing.
The bottom line is that user behaviour is no substitute for technically enforced security, because the user can make a mistake. Having UAC turned on doesn't mean you can be careless, but it does mean you have several extra levels of protection for what should be a minimal inconvience.
If you want to read quite an indepth article about the protection it provides, try this one.
http://www.symantec.com/avcenter/reference/Windows_Vista_Security_Model_Analysis.pdf