Many people attempt to go “straight for the throat” and sell to people right away. But by building a relationship, gaining trust, and developing report you will get more than just a sale. In short, the more you give the more you get.
I think it's important to have a mix ... it's always a good option to offer the product immediately (strike while the iron is hot), but some prospects want more info, so great content (describing solutions that ease some pain) works well.
I do agree that the more you give, the more you get.
Relationship building, gaining trust and developing rapport is important cross-industry.