If you have a command that doesn't print a new line, the prompt normally ends up on the same line as the output of the last command. iTerm can "fix" this.
See this is where I would rather have my terminal obey the program rather than imposing its own behavior. IMO a good terminal should be extremely minimal, and anything extra should be opt-in.