Most programs have a relatively limited number of file types (those expected up-to-3 character file extension abbreviations). Plus, if someone has accidentally mis-named the extension (IE. it is a BMP and someone named it JPG, or it is a JPG and someone calls it GIF ... or even no extension, whatever) those other programs can't figure out what the heck is wrong. They don't provide for errors in the file, which just might be a simple error, like if there is a character count mismatch.
IrfanView, being a very versatile image reader (over 60 formats) makes no assumption like that. In fact, if it figures out that the file extension is misnamed, it will offer to rename it correctly for you.
So, IrfanView, having versatility of reading many different file types, also provides for slight errors in the format.
Note: XnView is capable of reading over 400 graphic types - XnView is bigger and slower, though.
I have used both, I like IrfanView for its speed and small size. You actually don't even need to install it, you can run it from a floppy.