2009 BMW M3
While you often don't have to immediately worry about your check engine light, when you see the indicator flashing while driving you probably need to get to where you are going and figure out what is wrong. This indicates a severe misfire. Basically the knock sensor has determined that the motor is running rough. Usually when a misfire is severe enough to cause the CEL to flash you will feel it upon acceleration or even all the time. This likely indicates that fuel in one or more cylinders is not undergoing combustion and raw fuel could be dumping right into the catalytic converter which can cause damage or worse. While not a "shut the car down and call a wrecker" scenario like an oil pressure light, you should get it looked at quickly.
The generic scan-tools have limited capabilities. They cannot in many instances replace a factory scan tool or advanced diagnostic software used by the seasoned mechanic. The generic scan-tool can give a code, retrieve freeze frame data, and provide a limited selection of live data. It cannot access many of the control modules and their specific faults such as the air-bag or ABS system. They also won't give you bi-directional control of sensors or the ability to run manufacturer-specific tests. But in most cases they can clear the pesky check engine light once the problem is rectified.
While rare, I have seen cars that have had the CEL bulb in the gauge cluster removed or burned out. You can see if the light is working every time you turn your car on. It should light up like all the other lights in the cluster for a second or two.
I hope this provided a little information about what is going on, and what to do when you are staring at that annoying yellow light in your car.