Usually, I provide feedback in one of two circumstances. The first is the same as that already mentioned by quite a few of the people who have already posted - if something doesn't work as it should.
The second is if I am approached - online or by phone - to give feedback. Depending on how much time I have just then (they will always say 'this will take five minutes'; they are lying - almost invariably it'll take 10-15 minutes) I will give feedback. If it enables them to obtain accurate information, and possibly works towards improving whatever service or product they are offering, I have no problem with it.
If I care enough for the product...I do give feedbacks, report issues as soon as I see them and sometimes takes the time to rate and review the product. I gotta support them for the awesome product they're giving me hehe