Hola,
1) Documentación y libros los hay a porrillo. Sólo hay que buscar. Puedes empezar por
http://www.javahispano.org o
https://swww.uib.es/rincon/java
En cuanto a por que no hay gente que ofrece hosting gratuito...? Hombre, por que cuesta dinero :D. El único que conozco es
http://www.mycgiserver.com
Java está más orientado a empresas y és algo más complejo de mantener que Java, de ahí que no se ofrezcan hostings gratis, creo yo.
2) Por desarrollar en Java no has de pagar, ni por hacer tus programas, ni por usar JSP, ni servlets, ni JDBC... Otra cosa es si quieres usar algun programa hecho en Java, JBuilder, JDeveloper... o algun driver JDBC de pago. Pero a Sun por desarrollar en Java, nada de nada.
3) Depende. Hay programas que se venden sin código fuente, con codigo fuente, són mas caros, y hay programas que se "alquilan" para poder usarlos (a los famosos Proveedores de Servicios o Service Providers). Igual que en cualquier otro lenguaje.
4) Es de lo más común y muy usado. Lo de usar JSP ya es otra decisión, pero usar el navegador para acceder a aplicaciones corporativas es de lo más habitual. Y en algunos casos, de lo más recomendable.
Un saludo