I don't know if you've noticed, but Geralt's character in the games depends on the player's choices.
And there's actually many options of what kind of a person he ends up to be, and the ending of the game strongly depends on that. Of course you can play him as a total pimp and a bad father to Ciri, and he will either end up alone or even dead. But it's up to a players choices to make him a devoted lover to either one of the ladies, and a good father to Ciri. I chose the later version.