I buy many domain names at NameJet, and on occasion I bid on names at SnapNames. I think there are some good values out there, especially when you manage to find a name that has few bidders.
One thing I think is important is to do some research on the previous owner to try and figure out some things about the domain name to determine if it’s worth buying (in addition to keyword research). By looking at the Whois history and doing a bit of additional research, you can uncover some possible reasons for why it’s expiring: