Generally, and from applied usage, I get the impression macports gets maintained most thoroughly of the three.
Discussion and support for macports stuff on this forum is fairly brisk and ongoing, and on the macports site, there are matrices on each port directory page which show how well macports project team members, on their test machines, were able to build a particular port on a particular OS X/macOS version and architecture (indicated by red “X”s or green “√”s). This can be helpful when determining whether something will build on your own system, but it isn’t a hard and fast rule. I use macports across all of my Macs — ranging from a G3 running 10.4.11 to a Core i5 running 10.13.6.
One thing which continues to be a bit vague about macports documentation, which can get sort of annoying after a while, is not being able to determine in advance whether a particular port will build/install before one actually runs an install command. For example, say I want to install Qt5.5 (for use in other GUI-based port applications later on): when running a “port search” on Qt5.5, the single-line description doesn’t indicate that this port will only build on OS X 10.7 and above. It’s only when I try actually installing the port that the error-out dialogue will report that this OS X requirement is needed. Consequently, especially on PowerPC systems, one can expend a lot of time trying to install a port which will never install on your build of OS X.
Homebrew on PowerPC, as memory serves, is supported/maintained via Tigerbrew, though I’m not sure how regularly ports/brews get updated/maintained for relatively slower PowerPC systems. Fink, meanwhile… I haven’t seen or read anything about Fink in ages, and I’m not sure of its project status presently.
We do not live in a world of perfect information. Before asking why information is not provided to you in a way you find optimal, it is worth asking, is such information available at all to begin with, and if potentially yes, then at what costs.
Nearly always nobody has all relevant information in full, at the needed time, and at desired cost.
Returning to the specific topic: at any given time nobody knows for sure if a ports builds for a given system, often even their own. Because to predict an outcome with certainty you have to fix all variables (assuming process is deterministic), which is sort of possible, but you need to build the whole tree of dependencies from scratch, identical versions of every one. Acquiring such information for thousands of ports is costly, then it has to be repeated for every update of any dependency. What is such information worth though? It is not clear, because an established fact that a port builds or fails with a compiler and tools chosen by default or by port maintainer bypassing defaults does not necessarily mean it also builds or fails with some alternative tool chain available in Macports. Also a failure as such does not imply something is broken beyond trivial repair (not patching the code but just choose correct settings for the build), build may fail for irrelevant reasons (case-sensitive OS on buildbots vs case-insensitive locally) etc.
In practice you can only expect some hopefully reasonable heuristics of a kind “if you use strictly default set-up, then most probably this gonna build or fail, or at least I think so”.
Leaving a few black-and-white cases (obviously a pre-built x86 binary will not work on ppc) and a few cases beyond reasonable doubt (say, Qt5 at the moment, or Rust) aside, what should be done with the information of such kind? Macports has a mechanism to make a port fail prior to downloading due to incompatible OS or arch. Problem: how this gonna be decided and how reliably. And whether such mechanism is anything good at all, since it may incentivize a maintainer to go easy way and ban some systems instead of fixing the build. So there will be spurious “incompatibilities”. Then, how an end-user is supposed to know whether this information is reliable at all, for his particular case?
And then, suppose a port maintainer already thought all this through and came to a conclusion that it is wasteful to spend time on acquiring information which is mostly useless in result.
Everything becomes far less reliable when we talk about PowerPC systems, since nobody tests anything, no CI, no buildbots, those who tested it 10 years ago think in terms of archaic compilers, and opinions largely amount to pure guesswork at best.
To sum up: the only way to discover is try yourself, and often fix yourself when something does not work as it should.