Jack Baty (yes, the guy from this article) wrote an interesting blog post on the reasons why he is switching his tools:
I do like to try new things, and if Iām being honest, there are only 3 reasons I switch tools:
1. Boredom 2. Procrastination 3. Curiosity
Everything else is rationalization.
Interesting. My situation and opinion is different.
While I was a student and playing around with technology, I was switching tools without reasons all the time. I did not think of the consequences. This was fruitful in order to learn about technology and different approaches for similar requirements.
On the down-side, I had constant data-loss because of migration, I did not care about the future too much.
This way, I learned many things on tool choices - a meta-learning, if you will.
This behavior does not scale well for business situations or when you want to minimize data loss and migration pain. Here, a wise choice is a must. Avoiding lock-in situations minimizes the disadvantages of tool changes to a great extend.
Following this rationale, in most cases of the recent years, it were external factors that forced me to look for an alternative tool.
There is one big exception: a changed set of personal requirements. If my world is changing, my tools have to follow.
Lucky me, I have found flexible tools that allow adaptation when my situation changes. This way, I don't have to re-invent the wheel, accept migration pain or data loss. I just adapt my tool configuration a bit.