Authors do not have to be morally responsible for the thoughts, decisions, and actions of their characters, and imposing that on authors restricts their ability to tell an engaging story.
It’s absolutely fine if you only want to read about innocent, good, pure characters (Pollyanna eat your heart out!), but punishing authors who write characters whose conflicts you don’t agree with isn’t the way to do it.
For example, a character in a romance book I just read had a tremendous internal conflict where she was the side piece of love interest A while love interest B tried to convince her he was the man for her. A reviewer rated the book 1 star because the character was willing – at the start of the novel, not all the way through it – to be a side piece while love interest A married someone else.
I think that’s unfair to hate on the book because the character ended up changing her mind through the novel in a process commonly known as ‘character growth.’
Saying “I hate this novel because the main character was willing to be a mistress” isn’t fair on the novel or the author. The characters’ willingness (‘weakness’) was what led to the conflict and was the basis of the entire story, and prevalent in the blurb. Hating the book because of the basic concept of something that isn’t illegal and certainly not immoral, and didn’t even happen, isn’t really fair.
“She was willing to be a mistress” – but she changed her mind before the lover interest was even married, so she never was a mistress. I just don’t see how it’s fair for this to be the reason to hate on a book. Hate it for passive voice, poor character development, poor technical writing, poor plot, poor choices that lead to poor actions, but not something that doesn’t even happen.