The .xhtml extension is used for internal references of views in the application. So whenever you need to <ui:include> something or <s:link> to something, use .xhtml.
On the other hand .seam is used for extenral references. I.e. this how the outer world knows your views. So you say
hey check out my app, it can be found at www.myserver.com/index.seam. Likewise, any link you put in the application that does not pass through some JSF mechanism needs to end with .seam. E.g. if you include a standard HTML <a> tag, the href attribute will have to end in .seam, not.xhtml.
When using this setup it is allways a good idea to forbid direct external access to .xhtml resources. (I'm not sure if this is done when a project is generated for Seam.)
That's perfect answer, now I finally understand it.
Thanks a lot, Uwe