Google says that if you are paid for a link, such as affiliate links, then you should "nofollow". But, how do they know you are getting paid? They can`t see money transactions.
If where you are linking to is a business site, then you are certainly under suspicion that you were paid. Therefore, you should "nofollow" to avoid suspicion.
But, Google must rank businesses somehow. If not by links what? The links are either nofollowed or not trusted. Are there certain situations where using "follow" to businesses are accepted?