In Most Cases, Users do not know what they want to do so. It is the worst case. You may say User must know it and thus the project can be completed.
However, in real case, the situation is far from ideal.
Yes, you can ask user some real situation
Then new system, will bla bla bla, because bla bla bla
Don't let user think they should use which function before know business & system operate, they will create some useless / conflict logic waste our time.
Not everybody has systematic and logical mind set
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.