Writing your own programming language
It just occurred to me that a lot of programmers out there with idle time on their hands decide to write their own programming language. Among the thousands who try, most are doomed to languish in obscurity forever, so if fame is your goal then you'd be ill-advised to try achieving it via programming language invention.
But there are reasons why you still might want to do it, such as learning, and while I fully support this kind of thing for educational purposes, I could never really justify it for myself, even if I did have plenty of said "idle time" waiting to be burned up.
Quite simply, I am already perfectly happy with the different languages which I use on a daily basis and I feel no burning urge to reinvent the wheel and do them "right" somehow, even as a learning exercise. If I want to "get stuff done" in any number of different areas I already have an arsenal of awesome tools to do the job — C, Objective-C, Ruby, JavaScript — and for the most part I actually like these tools, warts and all. I've only ever dabbled in functional programming, but if I were to take it more seriously I'm confident that I'd be able to add Haskell to this list without too many reservations.
Ruby is slow but it's "fast enough". C is "dangerous" but it's easy enough to learn and avoid the pitfalls. Objective-C is still C, but it's "objective" enough. Even JavaScript, which I used to hate, has become quite pleasant to use since I discovered jQuery. I'm much happier seeing these languages incrementally improved rather than throwing them out the window and starting all over again from scratch.
But while I have never felt tempted to start work on a new programming language of my own, I do think that writing DSLs is something that programmers should do whenever it will make them more productive. I'm using the term fairly loosely here to include not only Ruby-style DSLs (where you use the language features to add what looks to be new syntax and keywords) but also stuff like template languages and even markup languages.
Time and again I've needed these things and had to create them and they've proved extremely useful, while still providing some of those educational benefits that you'd get from writing your own programming language (learning about lexing, parsing, language theory, grammars, optimization and so forth).