What is the difference between "launch" and "release" ?

A launch is basically a "first release". It's often the v1.0 of an application.

If said version would be updated, whether by fixing bugs or adding content, the v1.1 would again be released.

However, the terms are sometimes used as synonyms. If an update is a very important update, it can be said to be the "launch of the update".
Also, when speaking of the release of a game (without specifying further), it means the initial launch, not the latest update.

So to summarize:

  • Release = making a piece of software public, or publishing it. A release could be also defined as when the software was finalized, as opposed to made public, but that's only if it's used in the context of the internal development team.
  • Launch = The initial release of a piece of software. However, it's also used to talk about the future release of a highly anticipated update, especially if the update is a noteworthy milestone.

Those are the technically most correct definitions, going by my experience as a software developer and avid gamer.
However, the two are more often than not used synonymously.