So over my nearly 20 years in IT/CS, I've seen a few:
I worked for a large retailer. We migrated from an old frame-relay leased-line network to a much more capable multihomed IP-over-VPN configuration to connect all of our retail locations around the country back to HQ. This new system worked well. Our CIO retired, and a new one was brought in. CIO Magazine a year or so later had an article about "Satellite Internet, The Future?" Our CIO then "spontaneously" started lobbying to get us to scrap our efficient, inexpensive, high-bandwidth network for a satellite system.
I can't tell you how many projects I saw rewritten in Ruby on Rails just because that was the new hotness, only to be abandoned later when everyone realized that Ruby is awful.
I myself wrote a bunch of stuff in Erlang not because it was the best language but because that was the new hotness.
Two unchanging things I've noticed are:
A lot of time, the new hotness makes common problems go away or common tasks easier, but ends up making more complex things harder. This isn't necessarily a bad thing, but people tend to get stuck in the model of thinking that the new technology has to be used for everything, and they end up shoehorning their complex projects into frameworks that aren't the best choice.
No matter what the new technology is, and no matter how fantastic it is, it's not going to replace C/C++ for systems-level work, and Python and Perl aren't going anywhere. Truly successful technologies have long tails.