In this particular aspect BOINC resembles Win$ows for me.
Both have some "advanced" (at first sight) features that actually can't be used if really needed.
Cool, BOINC reports CPU features!... up to SSE2
Cool, BOINC reports GPU card parameters... when all projects who need GPU app already implemented direct device query... As most of Win$ows additional software, standalone tools needed to do real work if it's needed...
Why it's not good: it takes time to implement those actually unneeded for scheduling features that only make BOINC hardware-depenend. Instead of working in terms of abstract computing devices and effectively manage that devices having their description it operates just particular devices from few vendors...