What is the difference between кто-нибудь, кто-либо?

To my understanding, they both mean "anyone".

And also, what is the difference between кто-то and кое-кто?

Don't they both mean someone?...