Why use servlets and not beans?
Don't ask me. I use Beans and not servlets.
Servlets and beans are both java Classes. Beans follow a strict class structure.
As far as I can tell Servlets are cool CGI but still have the CGIs secondary nature. In other words you can not easily include a servlet and thus its output in the middle of a JSP page, you would have to use a load expensive SSI call and page.
Beans on the other hand are much more modern and code friendly, meaning no output with code. It allows JSP to be a true web scripting langauge by the pure and true separation of code and design.
Th availability of code within output is smart and useful but also not wise to always be on.
Of course people should be allowed to mix the two but it should be an option that can be turned off for production and live environments.