It might make business sense for the employer to place new hires, no matter what their experience level, onto low-impact projects for a period to give the employee an introduction to the business and its products. Even a brilliant and experienced programmer needs time to learn the ins and outs of a new environment before making useful contributions to core functionality. And no matter who you are, you are not some wizard who will be trusted to modify the core IP of an established business on day one.
It's possible that you were intended to work on the new and exciting products eventually, perhaps after proving yourself with other work, but left the company prematurely. This might not jive with your actual experience, but I do not think it's standard industry practice to trick employees into working for the company by promising them more interesting work. The fact that you say it's happened 3-4 times in a few years means to me that you probably didn't give the companies enough of a chance to determine if you were competent enough to be given important tasks.
Also, if they're paying you the rate that they'd pay someone to work on exciting project X and then they assign you to work on boring old project Y, that's a sign of good faith that they value you and will move you to more interesting things. Even if you're stuck working on the boring project for years, you can still take home that paycheck and work on something cool in your free time.