Why not use '?all' in SPF

Why we recommend that domain owners do not use "?all" in their SPF records:

The main reason is that neutral does not provide any enforcement capabilities and increases the likelihood of delivery of abuse to receivers not enrolled in DMARC verification.

Some spam heuristics do not like neutral. For instance, SpamAssassin:

# SPF support: 
#   "pass" is nice 
#   "neutral" is somewhat bad 
#   "fail" is bad 
#   "softfail" is bad, but not as bad as "fail" 
#   "permerror" is very bad, and means the domain doesn't have a valid spf record
A neutral verdict would raise the spam score on an email, pushing it towards a spam verdict threshold.
It can make the difference between an email ending in junk vs not