It's not so much that they can't speak Mandarin, but that they might use their dialect more in their hometown unless they're from Beijing (since all elsewhere has different dialects). So that means they'll probably have an accent to some extent, some heavier than others.
Also, just like any average person, not everyone is capable of replicating an accent (especially the various dialect accents). But again, production crews aren't too worried about the speech aspect since they can just fall back on the dubbing industry. Of course, most actors don't have that heavy of an accent, but maybe enough for the production to decide they don't want to use the original voice.
Other factors also contribute to why they choose to dub over, though. For example, some actresses have very distinct natural voices (too sweet, kind of nasal, etc.) so even if they recite their lines well with thick emotions, their voice is just not suitable for their characters.