Contrast is one of those things that can make or break the design of a site. Some colors don't go well together. Red text on a green background, for example, may seem like it'd be a high contrast and easy to read combination, but it's not. And it's ugly. At the same time, you have to be careful with colors of the same hue as well. Light gray text is hard to read on a white background (that one is a little more obvious).
This page talks a little about contrast ratios and provides a good tool to check for it:
http://snook.ca/technical/colour_contrast/colour.html
They mention that you should shoot for a contrast ratio of 4.5:1 with small text. Any less than that and you risk the possibility of users having trouble reading your site.
There's another tip I can give. Whenever you're choosing 2 colors to go next to eachother, pick a boring color that lacks saturation (white, gray, black, or a really dull color) and then pair that up with a color packed with lots of saturation (blue, orange, red, green, etc). In general, this will look better than trying to put two exciting colors next to eachother in the same design (unless you're designing a comic book site).
And then this site has a cool gallery where you might find some inspiration and good color combinations:
http://www.cwd.dk/
But I'll tell you that my methods have changed drastically since I first started out. A little creativity is good, but I now place more importance on usability than anything. I try to keep every design I do simple and usable... kinda like Stackoverflow. I only mention that because my focus on usability tends to influence my design decisions.
A couple of my favorite sites on usability and optimization are
http://www.useit.com/ and
http://www.websiteoptimization.com/