I'll reply on the premise you mean Test all-rounder, although you haven't specified and this is a wishy washy version of threads that have gone before.
Jacques Kallis is a batsman who happens to be a very useful bowler, he is not an all-rounder. He took only two wickets a game average and bowled only 21 overs per Test, taking only five 5wi. Afridi is a joke of an inclusion, decent Test average but made his name for his ODI bowling and while his name is often referred to as "boom boom Afridi", he is in fact pop gun Afridi.
Sobers on the other hand bowled 37 overs per Test, took six 5wi and 2.5 wickets per Test. I still don't rank him as best ever all-rounder, some all-rounders like Botham took three wickets per Test, 10wm hauls. Some people just see a big batting average from someone who was a decent to good bowler and label them best all-rounder - usually because they don't consider what makes an all-rounder.
Shakib doesn't qualify in my book, not because of ability but because he hasn't snared 100 wickets yet. How can anyone with only 96 wickets be the "best ever" as either bowler or batsman!??!? Likewise Watson (Test figures, as stated no specifics on what cricket and Test cricket is proper cricket)
I'll mention Chris Cairns if it is all-round all-rounderness, 3320 runs and 218 wickets in 62 Tests, 4950 runs and 201 wickets in 215 ODIs. He played only two T20Is