There is little or no difference between the -one and -body variants.
However, there is a major difference between somebody and anybody--anybody is one of the "negative valency" words in English, which is required when the main verb of the sentence is negated.
I haven't seen anybody. [Correct]
! I haven't seen somebody. [Incorrect]
Conversely, in sentences in which the main verb is affirmative (not negated), the preferred pronoun should be somebody and not anybody.
I saw somebody in the hall. [Correct]
! I saw anybody in the hall. [Incorrect]
In subject position, you should prefer somebody when a particular person is implied, although you don't know who it is. Anybody can be used when you have no particular person in mind.
Somebody called me on the phone. [Correct]
! Anybody called me on the phone. [Incorrect]
? Somebody can come to the party. [Not exactly incorrect, but very strange--it implies that there is a single, unnamed person that can come to the party.]
Anybody can come to the party. [Correct]