It wasn't underpowered for its time. It exceeded its competitor, the iPhone 3G, in specifications. I think what really hurt it was Android's immaturity at the time.
The HTC Dream was an odd little device, but it still holds a special place in my heart (I ended up buying one dirt cheap to hack on, so I could use my N1 for daily use)
You are correct. The G1 sports hardware a little bit better than the iPhone 3G, but, remember, it ran most of the software through a non-JIT VM instead of natively. And Dalvik didn't make use of the Jazelle extensions present on the CPU (I am not sure if that's even possible), nor the software made use of its GPU. For that, they should have used much beefier hardware to present similar performance.
I wouldn't just point to Android's immaturity. The G1 is just not a great design. Perhaps, if Dalvik could make use of the Jazelle extensions or the presentation layer made use of the GPU, the G1 would present a better experience, but, overall, I wouldn't expect it to fly.