This was the first explanation floated by People magazine, and it seems plausible. Harry is one of the most eligible bachelors in the world, so it makes sense that Cressida might be insecure. Plus, at 29, he's still relatively young and might have other things he wants to focus on, like his military career or royal duties. People quoted a source close to the prince:
"He found her too needy, and it just wasn't working out."