Seems to me this more of a linguistic difference than anything else, much like beef and cow, pork and pig, etc. The serpent, as has been pointed out already, has Latin roots (serpens), whereas the snake has Germanic roots.
http://www.etymonline.com/index.php?allowed_in_frame=0&search=snake&searchmode=n...Old English snaca, from P.Gmc. *snakon (cf. Old Norse snakr "snake," Swedish snok, German Schnake "ring snake"), from PIE root *snag-, *sneg- "to crawl, creeping thing" (cf. Old Irish snaighim "to creep," Lithuanian snake "snail," Old High German snahhan "to creep").
In Modern English, gradually replacing serpent in popular use. Meaning "treacherous person" first recorded 1590 (cf. Old Church Slavonic gadu "reptile," gadinu "foul, hateful").
However, "snake" hasn't replaced "serpent" entirely yet, and I don't think serpent has been relegated entirely to Biblical or literary usage.