It doesn’t change in performance, it’s just syntactic, it’s even semantic.
The first obvious advantage is that it allows instructions (statements) can be written in more than one line, which can better organize and make the code more readable in some situations. This is a way to end the "sentence". At the same time it allows more than one statement on the same line.
Some languages preferred to establish that it could only have one line and the new line indicator marks the end of the "phrase".
Of course it is possible to have other solutions to this need, such as indicating a specific marker when you need to continue on another line.
Another less obvious advantage is redundancy. Incredible as it may seem code redundancy can make it more reliable that it is expressing the right idea and avoids making mistakes by some carelessness. In addition the compiler can identify errors more easily and perhaps give a message closer than it needs to fix. It is possible to give good messages without having an instruction terminator, but it complicates quite the compiler.
The same occurs with the human who will read. Having something visual that shows that the closed instruction helps the eyes give a "parse" in the text.
And we can’t help but consider the advantage that popular languages have used for a long time, and having something that people are already used to help with the acceptance of new languages.
Write compilers for languages without explicit termination of statement is more difficult, so it is an advantage to the other side, that of the compiler writers :)
But I think it’s cleaner without it. I think it pollutes and makes mistakes unnecessarily in many cases because one forgot to put the terminator. Being cleaner doesn’t mean it’s better, but it’s indisputable that less information is cleaner. Of course too much cleaning can bring other problems. When cleaning takes away the protection can be bad.
But if the language was created to use it, it should use it, even if it is optional. I’m talking about the Javascript that people now "solved" that no longer need the semicolon.
There are religious quarrels because of this and other programming language syntax topics.
Related Semicolon(;) in Ecmascript 6 is no longer required? ?
– Guilherme Nascimento