Sales is a conversation. Good sales doesn't feel like sales. It feels like advise. To feel like advise you need to listen and you need to care.
There's two types of engagement: customer reaches you or you reach out to them.
Customer reaches you
Pin pointing pain is not finding out what someone needs. It's finding out the reason that makes them want something. Most of the times it's very difficult to get to the real pain because there are many answers that seem like it's the real reason.
Pain is an outcome someone is trying to achieve. "I need X software" or "I don't have X software" is not an outcome. Software X will allow someone to achieve whatever. An example, you don't need marketing analytics. What you need is know what your conversion rate is, why it is and how you can change it.
You reach out
Your job is to understand how a customer does something and uncover if she cares about doing that something differently. I like to think that outbound sales is the act of qualifying out until you can't. A sale is the result of the customer recognizing that the things you can do for them are important. The things you can is not the software it's what it enables of allows someone to achieve. Which brings us back to finding pain (as traditionally put it in the software space).
(most of my experience is Enterprise Software sales)