There are plenty of good reasons not to flag other people on the platform even if they might deserve being flagged. One of those reasons is the possibility of retaliation. While this is often not really a problem when dealing with smaller users, when the user has significant firepower, lesser users are discouraged from making their disagreements heard in fear of having their reputation annihilated and having their meager rewards erased.

Nobody should swim this digital ocean in fear
Another issue that we have to deal with is the apathy of other users toward such disagreements and fights. Perhaps the user would rather ignore the problem altogether in order to avoid the toxicity and fighting that are involved with taking sides in such disputes.
But we shouldn't be apathetic toward those users that signal their disagreement respectfully and then are punished for steping out of line of a whale's desired behavior of the population. Especially when their desired position is to protect their entitled rewards and raze those that seek a fairer distribution.
Clearly the current system leaves a lot to be desired. It is easy for the larger and more established users to say things are working fine as intended when they are not affected by such disagreements and already have stake to work with. But it is that stake that gives them the power to actually do something and protect the weak and innocent who seek positive change.
But rather than argue that one has a moral obligation to flag bad actors (they don't), I instead argue for a mechanism that reduces the impact of bad actors through establishing a measure of community trust. Rather than having to flag users, users just have to once declare distrust of bad actors similar to how they elect witnesses.
Each user would start with 100% trust from the community and then lose trust if they piss off certain users. This trust factor would be stake-weighted, and thus people would only lose real support if a bunch of whales or a massive number of minnows decided to declare their distrust of a user. Let's say 4% of the total stake distrusts a certain user. Then the trust factor is 96% or .96.
One's voting power would be multiplied by this trust factor and those heavily distrusted by the community would have their flags and upvotes minimized the most. Those who act selfishly and contribute nothing can have their stake reduced without any cost of voting power or any flags thrown.
While this mechanism can be used in a retaliatory way, it hurts the smaller users significantly less and larger whales that may have not wanted to get involved in a flag war can now remove power from other large abusive users of the platform. Another added benefit is that this gives minnows more power and helps to decentralize rewards better as there is little a user can do if they are suddenly distrusted by a bunch of users.
And let's say a whale flags people for distrusting them. Then such abuse can easily be solved by the community displaying united distrust of that user. This gives the community a greater ability to combat large abuse and is much harder to circumnavigate by simply creating more accounts as you could simply continue to distrust those new users. No flags required.
That way those minnows that disagree can feel that to some degree they are protected by the community. Retaliation becomes something we as a community can move beyond and we can simply distrust each other as a means of reaching consensus on how representative users is trusted by the community.
Or we could keep fighting. I would rather not waste my time and energy flagging and simply declare distrust of these people that act like children and retaliate when people disagree with them. They do little to support the community and only seek to serve themselves and advance their egocentric agenda. Shouldn't we distrust that?
No discussion questions for this one, but keeping my earlier promise: the comment that contributes the most to this post (as subjectively judged by me) will receive 100% of the SBD of this post.