Servlets have their place. I use them occasionally when I have some simple functionality I need to get done. However, if you write a couple of non-trivial applications, you'll probably find yourself following the
Front Controller Pattern, where one servlet is configured to dispatch requests to some sort of handler. It is this
pattern that Struts is modelled after. It has some other functionality, like form handling, validation, a tag library and so on. Basically, Struts takes care of the ugly details so you can focus more on getting your work done (which is true for most any framework, of course).
BTW, if you are just learning Struts, do yourself a favor and learn Struts 2. It fixes some of the big problems with the Struts 1.x series.