Du kannst als Dateiendung benutzen, was du willst, das ist nirgends festgelegt.
Üblicherweise verwendet man .inl für Dateien, die Definitionen enthalten, welche mehrfach vorhanden sein dürfen (oder sogar müssen), wie z.B. Definitionen von inline-Funktionen oder Templates.
Diese Dateien werden nicht selbst als Übersetzungseinheit verarbeitet, sondern über Includedirektiven in anderen ÜE eingebunden. Da sie aber Definitionen enthalten, sind sie keine typischen Headerdateien. Daher der andere Suffix, um sie von Headern abzugrenzen.
Oft wird auch eine .inl-Datei am Ende der zugehörigen Headerdatei eingebunden.