One factor is cost - there is no licensing fee. This means that developers wanting to play around with Java EE can use JBoss AS without having to dig into their pockets. It also means that businesses looking to deploy Java EE applications do not have to be concerned about license fees (which in some cases can be very exorbitant), and only need to pay for support.
Another factor is that it can hold its own against the proprietary application servers. And JBoss AS is fully Java EE certified.
Finally, I think that JBoss Inc, and now Red Hat, has done a good job of marketing JBoss AS.
As far as alternatives, there are WebLogic Server and WebSphere AS (both proprietary). If you talk to Sun engineers they will point to Glassfish. And if you talk to IBM they will also point out Geronimo, or they version of Geronimo.