Recruits are generated with two numbers in each category: Initial Rating and Potential Rating. The Potential Rating does not change. The recruiting messages (High, Low, High-High, etc.) are just PR - IR = X. If X >= 28, then High-High. If X < 7, then Low. If X < 21, then average, etc. The color-coded potential is just PR - current rating = X'. Same thing. WE is never taken into account.
Work Ethic determines pace of improvement. If it's bad enough, then the recruit might need 15 seasons to max-out, but can only ever get 5. Ain't gonna happen. In the single digits, you better like them as they are when the sign. In the teens, you can improve a couple categories by sacrificing others and feeding playing time. Once you get to 20 or so, then it is possible to get good improvement in multiple categories with playing time early, but those guys will still fail to reach their potential (unless they started close in most categories).
Playing time and starts improves WE, but here's another problem with low WE. The rate of WE improvement is slow at the low and high end and fast in the middle! So, if you start and give 20 minutes to 2 players, one with a 15 WE and one with a 50 WE, then the 15 might improve to 18, but the 50 might improve to 60 (a guy beginning at 90 might only improve to 93, but you're not worried about that guy's improvement).
The conundrum is that there are plenty of recruits that are worth signing, but which will never be able to max out in all categories.