I have been a bash user for almost as long as I have been logging into unix systems. I stole the basis of my now standard bash setup from a predecessor at the current $job. It gave me a two-line nicely-colored prompt which included (most importantly)the time, pwd, and username@hostname. I tend to be logged into a number of hosts at once, sometimes more than once, so having all that info quickly visible helps me to avoid getting 'lost' and either wasting time figuring out where I am. It's been tweaked here and there over the last 5-6 years as I found things that annoyed me, or found something nifty someone else had done, but for the most part it has held up well.
Well looking around git-hub for fun this morning, I ran across oh-my-zsh. This looked like a nifty idea, so I did a bit of research trying to compare bash to zsh. From what I can see, most of what you can do in one you can do in the other, but configuring zsh is much simpler. The setup of oh-my-zsh seemed much niftier than my current bash setup (the tab completion alone makes it awesome), so I decided to convert all of my working environments. I forked off so I could keep my personal updates easily available everywhere, and now have zsh setup as my default shell in every environment I spend much time in. I do wonder if I made a mistake in adding my changes directly to my fork of .oh-my-sh ... that is going to make it impossible to push anything which might have wider appeal back up. I'll probably go ahead and create a new repo to include all of my envirnoment related shite, then redo the fork so I can actually be useful. Someday, anyway.
My bash config ended up being slightly different everywhere. While I setup a git repo box at work and had everything in repos there, I still never managed to really keep things up to date. The same problem occurred on an even worse scale for my vim configs ... so I finally have a core for that up on github and have updated to that everywhere.