If you over cook the eggs and/or hold them at too high a temperature for too long, you'll be rewarded with the smell. When the temperature gets much above 140F, the egg whites start releasing sulpher, When the temperature goes above 180F, hydrogen sulfide starts to form (incidentally, this is what reacts with the iron in the yolk to form that green ring). The hotter the temperature and the longer you hold it, the worse the smell.
For boiled eggs, place them in a pan of cold water, bring to a boil, remove from heat and allow to stand for about 13 minutes. Immediately cool with either running cold tap water, or in a bath of ice and water. No more smell, and no more green ring.