I would assume that the init method is for initializing the environment for the servlet to operate in.
init would have access to the servletconfig as well as servletcontext, so that you could set session or request attributes using them or so operations like open database connections.
With the constructor it the object creation only that is done.
It is the way
Java is structured for servlets.