The explanation is quite easy. Some RGB images have a CTYPE3 = 'RGB' keyword (for Aladin compatibility). It implies the existence of WCS axis 3.
The missing keywords for axis 3 (e.g. CD3_3) assume their default values. The default value for CD3_3 is 0.0, leading to a singular matrix.
The Cdfix value tests for it and fix. In consequence there is no problem using it. And this is also the reason why we need to extend the size of the tab.