Blades manager Kevin Blackwell had put Cotterill, on loan at Bramall Lane for three months last season, at the top of his summer shopping list and he has now signed a three-year deal for an undisclosed fee.
The Wales international, who can play up front or on the wing, struggled to establish himself at the JJB Stadium but looks set to be a key player at Bramall Lane.
Blackwell said: "He's only 20 and a full international. He has shown glimpses of the real potential that enabled Bristol City to sell him (to Wigan) for £2million.
"David had set his heart on a move here, is prepared to look for a house in the area and we are showing the same commitment to bring him in."