Codeigniter saves session data in cookies. If session data has any special character which unsets the cookie, the session is also destroyed.
It also creates few more problem of size limit. Cookie can save limited size of data depending upon browser, if you try to store more data in codeigniter session, and as CI tries to save it in cookie, it may not save more than that limit.
Also as the cookie is sent over the network, it unnecessarily adds traffic on network. All session data should not be saved in cookie.
Its better to use native session library. It uses PHP's native session.
You can compare both.
Please refer CI session documentation for how CI stores session data.