Well, you have to store the preferences somewhere:
On the user's computer = cookies.
On the server = some sort of registration and user database.
Less automated, more messy option I don't think I'd recommend: when the user selects his/her preferences, use the GET method to send them so that they are in the URL. At the resulting page, display a message telling the user to bookmark this page to save those preferences. Then when they return to your site using that bookmark, the preferences will be in the URL.
Unreliable server-side alternative: record their IP address and preferences in a database. Unreliable because many ISP's have dynamic IP addressing for their customers.