I just did a test with some fast motion in front of one of my 5231 cams (all with VBR Best, bitrate maxed out, and 15fps):
1. Smart Codec Off, IFrame 15 (1 keyframe every second)
2. Smart Codec Off, IFrame 150 (1 keyframe every 10 seconds)
3. Smart Codec On
I walked along the same path at the same approximate speed while holding a box that had a bunch of text on it, to test the normal sort of motion the cam will encounter. I then walked while holding the box in front of the cam but much closer so that the box would take up a large amount of the frame, to see if forcing the encoder to replace a large amount of the frame it would suffer from any sort of issues that having more frequent keyframes would help.
After reviewing the footage, there doesn't appear to be any discernible difference between any of them whatsoever. No difference in clarity, no artifacts in any case. It appears the encoder had plenty of data to accurately represent the frames it was being fed in each of these cases. Note that this was during twilight and this deserves some additional testing at night to see if there's any difference. I am new around here but have a lot of experience in the video encoding space, and this is actually what I expected, assuming the encoders were properly implemented.
So I think your pixelation issue was a disturbance in the stream rather than a limitation of the encoder. Also, your observation of it taking more time for the live view to appear makes sense. I'm sure it waits until the next keyframe to initiate the display. That may be a reason for someone to prefer more frequent keyframes.
Otherwise, Smart Codec or longer iframe intervals would seem to make sense for someone who doesn't care if it takes a few seconds to load a live stream and would see benefit to the stream/storage needing less bandwidth/space. While Smart Codec doesn't apply to the sub-stream, a longer iframe interval does, so it's an option to tweak mobile device performance.
Another thought I've had related to this is on the question of framerate. While I know the conventional wisdom around here is that 15fps is plenty, in the extreme cases of trying to ID someone moving, a lower framerate could miss the perfect angle that would allow an ID, that a higher framerate would capture. Considering that, I think it would be reasonable for someone to potentially choose a higher framerate with a longer iframe time, essentially using the data that would be a relative waste if it were used on a keyframe to instead capture more frames. In this example I'm thinking of a case where the bitrate is essentially equal in both cases.