Well, readability, better typesafety, less undefined behaviour. In and out parameters, named parameters. Built in concurrency.
With C++ it's just too easy to make mistakes.