Well, on the high level, the biggest difference that between Weka and the others is flexibility. Weka is very much a plug and play Machine Learning solution – it's packaged nicely into a .jar file, and it comes with a GUI that you can run most simple analysis and model building through. Compared to the others, which are languages that can be run though an interactive shell, there's more guidance in Weka, and running ML via Weka seems quite magical.
The downside of Weka, is far less flexible than the python for statistical analysis and data exploration. This really boils down to the fact that the others are programming langauges with ML packages and libraries that you can import, whereas Weka itself is a ML package. As it probably goes without saying, this means that the others provide a much greater degree of freedom to clean, explore and transform your data sets, as well as a much greater freedom to tune and tweak the underlying algorithms.
In summery, Weka to be an easy introduction to machine learning on the data sets, as things just work out of the box (although that's not to say that tools that you can use from python don't work out of the box). However, in practice, python and their respective packages and libraries are much more flexible and practical for data science.