An "ElseIf" is a conditional test that only gets parsed when all preceding "If" or "ElseIf" statements have proven "false". You can get the same effect by splitting it up into an "Else" on one line and the "If" on another (as you have discovered), but then you have to nest them correctly, pairing up each "Else" with an "EndIf". "ElseIf" remains at the same nesting level as the original "If" statement, and only needs the single "EndIf" matching the original "If". It's much cleaner to read and code.
An "Else" is an unconditional statement that gets processed when ALL preceding "If" or "ElseIf" statements have proven "false". It marks the last section of an "If" block before the "EndIf". It is implied as "do nothing" even when absent.
Think of it this way: an "Else" is your "fail safe 'all false' condition": nothing else in the block was true. An "ElseIf" is just another way to have an "If" test, but only when others failed. Without the "Else" part, the "If" will always be tested (except you will probably have a "missing EndIf" or "nesting problem" error by then).
As for the "IsInKillCam" function: reading the GECKWiki description indicates it is a JIP NVSE function that will only return true while a "bink" cutscene is playing. Do scripts wait on "bink" videos? The OP should probably address that question directly to Jazzisparis.
-Dubious-