Players will go where they think is best for them at that stage in their career.
If they are past it / not really good enough they go where they will get the best money / security - see Van Bleeding Useless (which we are fantastic at attracting)
If you are young and want to develop with the aim to play as high as possible you go to a club that has a manager that will improve and play you - see Roofe at Oxford (we don't attract or buy any of these types of players - I wonder why)
I think this is generally spot on but you mention Roofe with a very large dollop of hindsight. I can't remember much clamour for his signature when he went to Oxford.
It was said on here several times in the past couple of seasons that we shouldn't be signing players from Prem academies as they are too lightweight/pampered and can't play at this level.
Oxford have signed quite a few young players from Prem sides with very mixed results, Posh have done similar with non-league players. You have to throw a lot of s*** at the wall in the hope that one eventually sticks and you profit from it. I'm not sure the appetite would be there for this amongst our fans. Maybe I'm wrong.