Colleges usually have lower entrance requirements than universities but they're still a lot tougher than high school. You're always surrounded by smart people, there's nerds everywhere. You meet people that are completely devoted to excellence in fields you weren't even aware existed and they're actually passionate enough to make you wonder if that emptiness in your life should have been filled with the science of volcanos or the study of insect breeding.
College has smaller classes and instructors that are obsessed with finding the best way to teach a subject. If you're excited enough about the subject to study parts of it that are outside the curriculum, then you'll shine in class and be well on your way to a grade A.
University has a lot of interesting people, much like college, but there's also a much higher prevelance of what I call "grinders". Grinders are students who are getting a degree largely because of parental pressure. Most of them are exchange or immigrant students whose parents damn near killed themselves trying to arrange their lives so their kids could go to university here. You can recognize them by their quiet demeanor and the large boulder of guilt they carry on their shoulders.
University has classes that number in the hundreds of people. Your instructors are obsessed with their research and see teaching you as an unfortunate necessity. You usually get textbooks that are unreadably complex. The instructor chose it on a whim and has/will never read it. Your lectures are built around the instructors field of study and they slant everything towards it.
The only bonus I've found to being in university is that it's larger and has more resources. In particular, if you have a very specialized field of interest, you can find specialists to talk to.
There is one notable exception to the college/university differences. Most first year courses (especially math) are so standardized that you'll get the same material at any institution.
This is an important question because a lot of people are self-taught programmers. If you can already talk shop with other programmers and write working software, than a degree may seem likes it's just a piece of paper.
So here's a list of reasons:
1. Having any degree proves that you're a professional learner. Computers are a field where you will be expected to learn constantly. That's the bad news. The good news is that learning is a skill in itself and you'll be amazed out how efficient you become at it after a couple years of practice in a post-secondary institution.
2. Having a degree puts you on a whole different level and your salary will reflect that. This is the "piece of paper" effect. People who have degrees tend to look at people who don't like they're someone who doesn't take their field seriously.
3. Having a computer science degree proves that you understand higher math, formal logic and scientific reasoning. Not knowing these things will mean that you'll always be a grunt and find it very difficult to become a lead programmer. The reason is that almost every single major software project will include someone who's doing this kind of work and no one's wants to put you in charge of those people if you don't understand what they're doing.
4. Contacts. The years you spend in school will make you friends with tons of people that are either already in influential positions or soon will be. This gives you the really nice ability to choose which company you want to work for. You can simply ask a friend who works there to help you get the job or you can ask a friend to introduce you to someone who works there. Most of the time getting a job isn't about what you know. It's about who you know.
5. The knowledge. It's true that there's nothing you learn at university that you couldn't have taught yourself. But teaching yourself requires a LOT of self-motivation and will restrict you to the topics you're interested in while seperating you from topics that are useful but boring to you. Having an instructor cracking the whip will push you into learning all that stuff MUCH faster than you could push yourself.
You don't need a degree to work in the field of computers and the majority of people in this field don't have one. However, without the degree, you will have to specialize in a particular subfield if you want to be in-demand. You will have to choose that subfield carefully.
If you want to be a database specialist you will have very little competition, as most people consider that work boring. A couple years of practical experience will lead you to making serious money and having a very solid career.
If you want to be a game programmer, forget it. There's such a massive amount of competition for these jobs that the only acceptable qualification outside of a degree is to have a significant portfolio of games that you've already made. To be in-demand in this field you really need to have both.
Most people do. Try to remember that about 95% of the people in school also hate math. They force themselves to learn it through a sheer act of will. Some people might view this as proof that those people are stronger than you. Thinking this way may offend you. Maybe even enough to make you want to prove that those other people aren't better than you.
You should also think about the following: If you consider yourself to be smarter than average, then it's going to really gnaw at you everytime someone who's a definite idiot but knows more math than you goes and puts math into a conversation to make you look stupid. It will make you very bitter and lead you into arguing that math isn't important. These arguments will make you look even stupider because without knowing math you lack the credentials to dismiss it. It's the same as when someone who knows nothing about computers tells you that they're useless.
Let me give you some assurance. If you have any brains at all than I guarantee you that you can learn math. It's well established that the only significant diffence between math-people and non-math-people is that non-math-people had some bad math experiences early on and decided that they aren't math-people. But no one's actually born one way or the other. In virtually all cases the problem was that math learning is so sequential. If you don't understand a concept than trying to advance without it is an effort that will eventually crumble into frustration.
There are two tricks to learning math. First is to make sure that you practice it a lot. Practice the techniques until you feel comfortable enough with them that you could explain them to someone else. Secondly, don't skip anything. Math classes almost never teach you a concept unless your going to need it over and over and over again when you get further along. If a class is going down the tubes than just focus on the foundation stuff from the beginning of the course. You might scrape by just from knowing the foundations and even if you fail you'll feel way more confident the second time around.
I chose to go back to school because a degree is such a solid qualification that it's practically a guarantee that I can always get high-paying work in whichever subfield of computers strikes my fancy. I'm committed to making a career in the computer field and the higher salary I'll collect with a degree will pay for the investment of time and money within about 10 years of working. This is a good investment.
There's also another very good reason though. I realized one day that I would never regret pursuing a degree in a topic that I love. But there was a good chance I might someday regret that I didn't at least try.
If you're in doubt then take out a student loan and go to school full-time (three to four courses) for a single semester. Choose courses that interest you and prove to yourself that you're smart enough to manage four months of college. At the end of that you may decide that it's not for you. But you'll never regret that four months. You'll always feel proud that you know what college is like, that you understand college movies/jokes and know all about that culture and it's terminology.