A parser which backtracks by default is not very efficient. Therefore the explicit calls to backtrack only when backtracking is necessary. The explicit handling of whitespace makes it possible to make indentation sensitive parsers where whitespace (at least at the start of a line) is significant.
But note that the library is just a toolkit. You can use a generic parser (and not the character parser) to build any parser you want, even a parser which strips whitespace implicitly and backtracks implicitly.
P.S.: Since I am the author of fmlib I have used fmlib to demonstrate the power of combinator parsers. However I would be very surprised if the other combinator parsers available in ocaml wouldn’t have the same power with respect to mutual recursion.