The challenge attribute is one of the few that Geocaching HQ actually mandates (for new challenges).
As for having a checker meaning that it's a challenge, that's actually backwards. If the Project-GC system detects a non-challenge that someone has made a checker for, that checker will be deactivated. Project-GC has historically had its own list of challenges (containing some grandfathered caches that didn't follow current guidelines, like not having "challenge" in the name) as well as excluding caches that had "challenge" in the name but actually were not challenge caches.
Going forward, we will use both the attribute and (for the occasional old cache that haven't gotten the challenge attribute but should have) this exception system as well.