lol means "laugh out loud", I think it's comparable to Portuguese "rsrsrs".
English also has "lmao", which is stronger than "lol" (it means "laughing my ass off"...the word "ass" is normally a bit coarse, however "lmao" is not impolite at all).
"haha" is quite common. A big laugh can be longer (hahahahahaha) or capitalised (HAHAHA). A smaller laugh is "hehe". If you write "ha ha" (with the spaces) it can sound sarcastic. Then there's a single "Ha!" which is very hard to translate - it has many different meanings, but it definitely doesn't mean "haha".
As other speakers have said, "lol", "lmao" are more commonly used by people aged <25 years old. Personally I really dislike "lol", it sounds immature to me. But that's only because I'm a grumpy old 30-year-old, not everyone will be bothered by it.
'haha' is perfectly fine and is used by the more modestly aged generation too ;)
I think there should be a thread on here to collect this information for every country represented on italki.
Due to my age, I use hahaha, rather than LOL.
I know that, in Brazil, they use this thing "kkk"
LOL is more modern usage, almost text talk
Haha is more common among older people