It's a common, longstanding American slang idiom intended to convey that no matter what you've seen, what you are about to see will far top it (whether for good or for bad!). It has associations with pop-music and black American culture and expression, but it's a little dated --it has a retro feel to it these days.
Deliberately ungrammatical constructions are often used in pop music and advertising slogans because they are more memorable, convey a sense of "flavor" and seem more fresh and immediate. In particular, ain't is often used as an intensifier of the negative rather than a reversal of it (the use of double negatives to intensify rather than neutralize negativity is incorrect in Standard"standard" English, but common in black American dialect and many other non-standard English dialects).
"You haven't seen anything yet" does have the same superficial meaning, but utterly lacks the attitude of bravado and over-the-top exaggeration. If you tell your friend who hasn't traveled "you ain't seen nothing yet," you are boasting to him about the wonders that await him. On the other hand, if you tell him "you haven't seen anything yet," you're just belittling his past experiences. The standard Englishlatter expression is literal, whereas the slang expression is promotional.