With desktop applications you cannot cover your flaws. However with Web applications you can.
How is that?
If you develop a desktop application (Windows or Mac), people need to download it and install it on their machine. Run it there, offline, isolated and away from the internet, they have control they can disconnect their machine and run it anytime, they can copy it anywhere, share it with friends. So If you discovered a bug? Big problem you need to make people download the new version.
That's what's happening with cracked Anti-Viruses. They release version 1.0, someone manage to crack it. So they release version 2.0 which that crack won't work for. But people still won't let go of version 1.0 and will use it, carry it on their flash disc or external hard disc.
Web applications are cool. Discovered a bug? quick fix it and publish the new version, the next time people log in to your site they see the new version, they can't warehouse your old version.
You can easily cover your flaws.
But the development isn't easy at all, especially if you want your web app to work for IE, firefox , opera etc...