کدهای JSP یا JSF نهایتا HTML انکد میشن ، تفاوت چندانی با بقیه تکنولوژیهای وب ندارن ، البته توی تگهای سایتهایی که با JSF نوشته شده باشن هم در هر حالتی میشه نوشته شدن با JSF را تشخیص داد ، مثل prependId ها (لبته توی jsf 2.2 قابلیت غیر فعال شدن داره) و یا client state اگه سمت client ست شده باشه.
در حالت کلی تفاوت چندانی نداره چون نتیجه خروجی HTML خواهد بود ، شما صرفا موقع نوشتن کد ، کد کمتری مینویسید و Bindingها ، Converter ها یا Validation ها را تعریف میکنید ، در کل کار همان HTML نویسی را انجام میدهید صرفا با کد کمتر.
از طرف دیگه توی JEE7 ، استفاده مستقیم از JSP منسوخ شده و از فریم ورک JSF که روی اون قرار داره به صورت پیشفرض استفاده میشه.
الیته Spring MVC هنوز از JSP به صورت پیش فرض استفاده میکنه.
یکی از کتایخونههای محبوب روی JSF هم Primefaces هست که نمونهی کامل کامپوننتهای اماده استفاده اون رو در این لینک میتونین ببینین.