1- ال tomcat هو نسخة خفيفه مخصصه لتطبيقات الويب فقط , أما الأخرون فهم خوادم لتطبيق مختلف نواحي ال Java EE.
نصيحيتي, إن لم تكوني مهتميه غير بالويب (سواء JSP/Servlet أو JSF ), ف tomcat يكفي جدا
اما إذا أردتي إستخدام كل مميزات ال Java EE من EJB, JMS و غيرها, فلابد من إستخدام Application server مثل GlassFish أو غيره (يوجد العديد منها)
2- ال JSF جزء من أجزاء ال Java EE , نصيحتي أن تتعلمي ال JSF بعيدا عن أي بيئة تطوير, أما إذا كنتي في عجلة من أمرك و تريدين كتابة تطبيق JSF بإستاخدام ال NetBeans فأعتقد أن موقع NetBeans يحتوي على الكثير من الشروح, بالمناسبة من أفضل كتب تعلم ال JSF (في رأي) هو Core JavaServer Faces