I don’t know much about the CRJ either.
On warning systems. They don’t always warn of the status that you may think they do. For example the original DC10 cargo door latches could be forced closed in a way that would extinguish the warning but still leave the door improperly latched.
BAe146 freighter has a tail strut warning. It needs to be checked to safeguard against the tail strut being left in place for flight, but the warning is cleared by the tail strut being stowed in its holder, not by the strut being removed from the tail. If the ground crew are using their own strut, the warning is useless.
On procedures. Many procedures in aviation are triggered by a cue. An event happens which triggers a person to do a task. An example might be that the landing gear is selected down and this triggers the crew to do the landing checklist. Poorly implemented procedures can result in a single slip leading to multiple follow on errors/omissions. In the landing gear example, if the landing gear is not selected down (crew busy, distracted, etc) then the landing checklist is not done and so the fact the gear is still up is not noticed until the EGPWS is triggered “TOO LOW, GEAR”. Oops.
It shouldn’t happen but weaknesses in procedure and design often aren’t picked up until Murphy strikes with a perfect storm of latent conditions compounding human error.