Search Engine Optimization (SEO) has always been about trying to manipulate the search results, and many of the techniques that are employed are frowned upon by Google. This is why Google have
systematically stamped out the various SEO techniques that have been employed over the years.
Firstly they devalued meta tags and then they wipped out keyword stuffed pages. They penalized
cloakers, and banned sites built with search engine results as content. When a new technique comes out (eg blog and ping), it is quickly controlled by the brains at Google.
In the last few years, Google has come down very heavily on "blackhat" optimization techniques. This has included things like cross-linking your own sites.
So why is cross-linking your own sites bad in the eyes of Google? Well, its all about why motives of the webmaster. Are you cross-linking to increase the rankings, or are you cross-linking your sites to give your visitors a better experience? If you are cross-linking purely to improve your rankings, expect a penalty. Heavy cross-linking of sites can get your sites penalized.
If however you are adding the odd link, purely because the sites are relevant and of interest to your visitors, then there is not usually a problem. It's all in the motives. Google hates any attempt to manipulate their ranking algorithms.
Also not all paid links are bad. If you are buying a link to get traffic from that site's visitors, via the link, then that is OK. To test your motive, would you still buy the link they used a
nofollow tag with the link?