Because IIS is not a servlet container. You can say it a web server. So, you can run your servlet in any application server that has servlet container.
Microsoft IIS and Tomcat are compatible and its the best way to run servlets from IIS, but its not the easiest installation in the world. Requires a lot of small steps.