This fan controller uses both the 12V and 5V rails on the PSU. By doing this, the component count could be reduced (i.e not having to add a linear regulator and capacitors). One thing that I should add is that I happened to have a prototyping board and berg connector lying around so that would have reduced the cost also.
Breadboards and jumpers also make the programming part easier.
The idea behind using rotary encoders was they take a lot more punishment than pots. Also noting that there is not an ADC on the 2313 chip so a pot would not have worked anyway.
My apologies, these are in fact quadrature encoders. What I was trying to point out was the basic fundamentals are the same. You are still detecting a change/pulse and working from there. Although the angles between are different. I won't remove the grey code tag because it still provides a basis for how an encoder works.