To what extend can a DOS attack succeed even if it was detected?
If a DOS attack isn't detectable, it didn't succeed.
For a DOS attack to succeed, the defender needs to be overwhelmed, even though they know what's happening.
The more the defender's cost per packet exceeds the attacker's cost per packet, the more likely it is that the defender will be overwhelmed.
The aim of DOS filtering is to discard the DOS packets cheaply - to reduce the cost of receiving the packet to something close to the cost of sending the packet.
It's quite possible that filtering may fail to prevent the DOS succeeding. If, for example, the DOS chews up all your bandwidth, it will succeed.
But the only way that filtering is likely to cause the attack to succeed is if filtering is significantly more expensive than just letting the DOS packets hit your infrastructure. That's not impossible, but it's unlikely.
If filtering is only slightly more expensive than not filtering, which will typically be the case if filtering doesn't work, then it probably won't make any difference during an attack. Any attack that succeeds would probably have succeeded anyway, especially as the firewall is almost always a different box to the one hosting the service under attack.
Where filtering can hurt is with normal traffic. If the cost of filtering is significant, compared to the normal cost of processing, and if there isn't a lot of spare capacity, then filtering can turn a load of healthy traffic into a self-denial of service.