3. A stateful web service can retain some state specific to a particular client while a stateless web service seems to "see the client for the first time" with every request.
Stateful web services need to use some kind of mechanism to identify a particular client. This can be a token of some sort or HTTP cookies, provided that HTTP transport is used.
4. If I remember correctly, only stateless session beans can be exposed as web services.
This may have changed in JavaEE 6.
However, it is still possible to implement a stateful service based on stateless session beans, but you will probably have to write more code and use a token parameter to identify a specific client.