A adjustable current source by changing Vin?
AFAIK, The reason is that devices aren't ideal in the real world. (instead, fulls of features, for example MOS channel length modulation, The Op amp's input's current, etc..)
From some little previous knowns(maybe not correct :'( ),
That mos cannot provide enough impedance(some called gs, about dozens of Siemens).(both Vgs and Vds can affect how many currents flow), so you need to build a feedback, input is the error between how many current should flow and how many current really flow, output can be Vgs.
and then do some loop analysis and compensation on it.