If you study the subject of names, you will know that every name has its origin in 1) the bible, 2) geography, or 3) trade.
Wagner = German for Wagon-maker
Smith = duh
Miller = duh
Johnson = son of John, John being biblical
Jackson = son of Jack, Jack = John, John being biblical
Ian = Evan = Sean (Shawn, Shaun)= Johann = John, for those of you who didn't know
MacNeil, McNeil, O'Neil = son of Neil
(if you have a weird last name, it probably refers to some place or geographical feature - my last name translates as hill-valley)
Rather interesting stuff.