Short answer:
I wanted to make some minor changes to my window manager. Instead of doing the reasonable and responsible thing (contributing to another project), I re-invented the window manager. I'm quite pleased with the result.
Long answer:
At this point, the reasons for starting AHWM no longer matter to me. I'm quite happy with the result and writing a window manager has been the most satisfying software project I've ever done. If you are considering writing your own window manager, go for it! Running your own software 100% of the time has to be one of the most satisfying experiences for a programmer. In addition, you'll gain a new appreciation for writing completely solid code. When you're reading email and your window manager suddenly crashes, you take it as a personal insult and drop whatever you were doing to fix the bug immediately. When you have X sessions that last for weeks, memory leaks are no longer minor annoyances, but are rather the nastiest evils. If you are a developer with any doubts as to your carreer choice, writing a window manager will remind you of why you love programming. All the information you'll need can be found here and here.
I originally used Windowmaker. Windowmaker is great, but I had two problems with it: the focus bit, and the lack of documentation. I would continually wonder why Windowmaker would overwrite the changes I made to its configuration files, and some of the stuff in the config files was not accessible from the configuration program and was not documented anywhere but in the Windowmaker code (for example, one version of Windowmaker did not allow you to change the corner for the fading workspace display using the configuration program). If Windowmaker had proper documentation, AHWM would probably never have happened.
I next tried the programmable window managers, sawfish and scwm. I really liked both. I enjoy Lisp/Scheme and I went fairly deep into programming these window managers. The main problem I had with sawfish was that I was using an older version of sawfish and I had about 700 lines of code. When I upgraded my version of sawfish, all of my code broke: every single line. In addition, the newest versions of sawfish had incomplete documentation, and the module system made my life much harder (I was rewriting entire modules just to make one simple change).
I next tried scwm. Scheme is even more fun than the Rep lisp dialect, so I thoroughly enjoyed scwm. However, scwm had even less documentation than sawfish. I recall the only way to actually get documentation for the lisp primitives was to find an obscure CVS server somewhere and check out the working version of the documentation. In addition, the newer versions of scwm were impossible to compile - I ran into the unix version of "DLL Hell". Scwm relied on obsolete versions of guile, and I could not find the required versions of the various needed libraries. The final point which annoyed me was the module system - again, I was rewriting entire (large) modules simply because I could not override a module-internal function.
I then gave up on the "configurable" window managers. I tried twm, but quickly went to ctwm when I realized that twm did not have workspaces. Ctwm worked quite well for a few months, but I missed the "modern" window manager features I had grown accustomed to (such as proper sloppy focus and a stack-based window cycling system).
I tried skipping around a few of the lesser-known window managers. None of them were "perfect" - I began formulating a list of features that I needed in a window manager. When I found no window manager with exactly this list of features, AHWM was born.
I did not write AHWM to make a name for myself, to fulfill the needs of a neglected audience, nor to experiment with strange new window management paradigms. I wrote it because I needed it and I'm releasing it because maybe someone else might like it. If you don't like AHWM, try Sawfish or Windowmaker (both excellent window managers), or, better yet, write your own window manager (and have fun doing it).