The journalists lately are doing us all a huge disservice by conflating the two.
I haven't seen any evidence at all that FB was selling user data.
I've posted here a couple times on this issue, having been personally involved on the other side of the table in one of these 'deals' - and it was only ever a matter of getting our app integrated into FB so that our users could access their own data. We didn't use any of the data, though some 3rd parties would then have access to that data and do whatever with it, but only with it with the permission of the users.
The article doesn't provide specifics, but from what I can gather, this really is about 'special API access', and shouldn't be frame as 'FB sharing user data'. This is simply unfair to FB however we might think of them because it misrepresents the issue.
In short: FB has publicly available APIs which 3rd parties can use to allow their users to do some integration. Some of those APIs provide quite a bit of access, and so there's reasonable discussion about 'who' they should give access to. It's also perfectly reasonable that FB wanted to sell access to such APIs, or to have some kind of reciprocity.
VISA, Mastercard and AMEX are out there selling your data (on the aggregate, down to the zip code) to whoever wants to buy it, which is far worse and in many cases may theoretically compromise your identity.
FB has a lot to answer for, surely, but the information needs to be more clearly communicated. Sometimes, I'm not even sure if the journalists understand what is going on.