The jarring sight of Matt Cain wearing a Major League uniform other than one representing the San Francisco Giants will never materialize. Prompted by a variety of factors -- the expiration of his contract, injury-eroded skills and a young family -- Cain announced Wednesday he will retire at the end of the season, officially ending a career distinguished by accomplishment and length.