Hate is a strong word and my mum always told me not to use that word when I was a kid. I am quite grown now and I use quite a number of words she also told me not to use, so why discriminate?
Most preference pages are born out of the laziness of developers and designers of a product and this is not just web interface, I am talking coffee makers, phones etc.
A well-made product should be useable immediately when it is pulled out of a box. Yes you might need to input your email, plug it in or connect it to the Internet but that should be it. Products have a purpose. Most of the time there is a right way to achieve this purpose, and the creator has an opinion on how this purpose should be approached, so share this expertise with your users.
But seriously though what is bad about preferences you ask?
Well every time you make a user set a preference
- You are creating more code that does not necessarily bring value
- You are exposing internals of the device or software that may be exploited if not properly secured
- Preferences can be confusing if not communicated properly
- Preferences can lead to choice paralysis, which detracts from the problem it is trying to solve
- But mostly you are making your users think about something that is probably your job to figure out.
Some preference options are good and actually make or break a product but adding preferences have a cost and that should always be taken into account. The best products I have used always seem to know what I need before I did and automatically adapts to the context of my use case. So now I judge how good a product is, not by its features or number of things I can adjust but by how great it works on the default settings.