Well I don't think i'll be doing any OC so would the 3500 or the 3700 work fine? At what point do the processors have 1mb of l2 cache? how about what is the meaning of the different city names like venice and san diago on the amd processors?
I would have to suggest getting the 3700. The 3700 has 1mb of l2 cache, but the 3500 doesn't. City names reflect the cores, like if its dual or single and then how much cache it has. San Diego is 90nm single core with 1mb of l2, Venice is single core 90nm with 512kb of l2 cache.
Maybe getting the opteron would be the best choice since it costs less, but overclocks better just in case you wish to oc in the future?