There are a number of factors:
1. Age
2. Quality
3. Training speed
4. Special Ability
1. Younger players are worth more as they train faster (see number 3) and they are also good to keep in a team for a good few seasons.
2. Quality speaks for itself, usually a higher quality = more value.
3. Training speed plays a large part, as you can power train them to be a very high Q. They are very desirable, and this plays a large factor in determining their value, as they are good for 3/4 seasons if trained properly.
4. Special Ability - SA's such as Free Kick and Defensive Wall/ Aerial Defender and One one Scorer are highly desirable and useful in some aspects, this will drive the price up a fair bit.
Usually, if you see two players of identical age and quality, but a vast difference in price, it's because the more expensive one is a fast trainer, see 3.