To list just the main problems:
- f*-up licence (open-source, but modifications can only be distributed as source-code patches)
- non-concurrent runtime (because the original developers don't care about it)
- ambiguous syntax which masks bugs
- inconsistent and incomplete standard library (there are replacements, but they too suck)
- shitty REPL (at least on Windows)
Well, that's about it. It's really fast, safe, expressive, as functional as it gets ([EDIT] also: compiled). Definitely one of the better-designed languages, and a great starting point for many other languages (F#, Swift, Rust).
Lately, there has been a lot interesting development that eased development in OCaml (basic overloading, this IDE), and more seems to be coming (concurrent GC/runtime).