A CB is more like a time-delay fuse - it takes time for it to trip depending on the current drawn and the time. It's possible that the breaker is bad, but it's also possible that the current drawn wasn't high enough, or the duration wasn't long enough. The curves of how and when a CB trips can be tailored, and each one is somewhat different, but it's not a simple fuse replacement. When you get a short, it can liquify the conductor, and that may have meant that it no longer was making contact, and thus was no longer shorted. If that took less time or used less current than the trip curve of the breaker, it won't trip.