The customer support and testing are key challenges. You have to be ready to help people with things that aren't even your fault if you don't want your rating on the marketplace(s) to go to shit. Plus you'll need to do lots of sales/ads/marketing to get your zero-ratings zero-downloads plugin off the ground, no matter how good it is. Writing a decent and useful plugin is helpful (almost wrote "necessary", but it's actually not—at least the "decent" part) but isn't sufficient to have a successful plugin.