I write addons because I enjoy writing them, and because they scratch itches I want scratched. I've never sat down and written an addon with financial incentives in mind, but the resultant income is a very nice bonus.
I know a few guys like the QuestHelper guy were making extremely good money off of addons - enough to be a full-time job - but it's very hard to build a career on that; Blizzard can kill that income stream even more easily than Apple can with an app store app, because they continually fold the popular stuff into the base UI. If your massively popular addon has its concept shipped in the base UI, your installed base drops precipitously, and the income stream dries up.
(I've been meaning to get into mobile app development; I've written a free Android app, but I can't seem to come up with a good concept for something I could charge for)
The end user never pays for the addon. They can pay for a premium client subscription, which gets you priority bandwidth on patch days, one-click updating, no ads, and that sort of thing, but you're very solidly in paying-for-service territory then, and there are still fully functional free methods to get the same addons. I think what Blizzard mostly wanted to avoid was an environment where some players could gain an advantage over others by purchasing some addon, and they didn't want the in-game experience turning into an advertising slum.