I'll have a go at answering.
If the out of contract player is delisted, then he is free to go to the club of his choice.
If the out of contract player is not delisted, a trade will need to be arranged.
If a trade can not be arranged, the player must nominate his salary and terms and put himself in either the main draft or the preseason draft. That choice will depend on where he wants to go. If a player wanted to go to a poorly performing club eg Freo he would nominate for the preseason, as not many teams would get a chance to select him. If he wanted to go to a better club (eg Ball to Collingwood) he would nominate in the main draft as the lower clubs would be more likely to select a young draftee.