In addition to the points mentioned, I consider very important how you build your email list.
Our company uses email marketing very often and always looks for ways to improve it.
Everything starts from the list. If people opt in that they will be less annoyed by your messages.
Of course that doesn't mean that we need to create spammy messages.
Anyway, email marketing works if you do it well.