IPython is pretty unusual. When I was first introduced to it, I thought of it as mostly an upgrade for the default python shell. But as I find more and more features like IPy Notebooks and IPCluster, I'm realizing that it's a completely new sort of thing. It's not just better command history in your shell or whatever - it's a whole new approach to computing emphasizing reproducibility and distributed workflows.