A slightly different approach
Clear[dominateCount] dominateCount[points : {_, _} ..] := Module[{pairs, dominatePick, pickedPoints}, pairs = Subsets[{points}, {2}]; dominatePick[p1_List, p2_List] := Switch[p1 - p2, {_?NonNegative, _?NonPositive}, p1, {_?NonPositive, _?NonNegative}, p2, _, Null]; pickedPoints = dominatePick @@@ pairs; Print[pickedPoints]; DeleteCases[ Append[Tally@pickedPoints, Append[Complement[{points}, pickedPoints], 0]], {Null, _}] ] dominateCount[p1, p2, p3] (* {{{5, -2}, 2}, {{4, -1}, 1}, {{1, 5}, 0}} *)