I think you've answered your last question yourself.
PHP session data is stored on the server, although there is a cookie that is stored on the client's machine to tell PHP which session to use.
If you're needing to store data that is going to be used on the server side, then it makes sense to store that data on the server, rather than passing it with every page request. E.g. authentication information that is checked against a database.
What are you looking to put in the session? That will likely determine whether you'd be better using server side or client side sessions.
Sessions can be written to file or to a database (file again) and take up minimal space - i.e. only a few bytes and are automatically cleaned up by the web server when finished with. If each session is taking up more space than that, you're probably storing the wrong kind of data in the session.