Most of the above is incorrect!
An EU player (i.e. a player whose nationality is of an EU state) will automatically be given a work permit.
A non-EU player must have played in 75% of their competitive international games in the last 2 years, if their country is ranked in the top 70 in the world.
If they have not played enough competitive international games, or their country is not ranked highly enough, you may appeal. The appeal will then be based on the player as an individual, on a range of criteria such as his reputation and ability.
The work permit is attached to the contract. E.g. if you offer him a 5 year contract, his work permit will also be for 5 years. A new contract, either at your club, or another club if you sell/loan him, will require a new work permit.
You may only sign a player without a work permit if you have a feeder club with which you have a residency relationship. These clubs are in countries where the time it takes to gain nationality is shorter than the UK (5 years). For English clubs, Spain and Belgium are most common. The player is signed to you, but cannot play in competitive games, but can then be sent to your feeder team for as many seasons as is required for him to get EU nationality.
Hope this helps!