People get macro evolution wrong because they're stuck thinking that evolution is about solving an optimization problem: ie, more evolution means better creatures. Except that evolution is about adaptability into the environment, into particular niches, and so forth. There are no higher or lower organisms, they just are. No in between stages, they just are. Sure, there are things between dinosaurs and birds, but then perhaps the bird itself is just an in-between stage between pre-birds and post-birds. Humans in that sense also are just an in-between stage as well, so clumsy and awkward that we can't even adapt without building tools. Defining things as a beginning, in-between, and end is the wrong way to look at things.
As for butterflies, all insects have a larval stage and later an adult stage, most of those adult stages have wings even if vestigial. Butterflies are not at all special in this regard. Once you've got some insects that have wings then most of the evolution that occurs is about separating the insects into a huge variety of species, some who adapted to use wings to escape from predators, while other have brightly colored wings that move them about slowly so that they're a bigger target, and so on.
The "in-between" stages absolutely are useful in some regard, even if the layman's view of evolution doesn't like it. Maybe there was a mutation that seemed pointless and harmful (probably was harmful) but as a side effect it may have made living in a particular environment easier even if they birds ended up eating more of them than the ones without the mutation. Maybe they went for eons with the mutation sticking around in some individuals and not others, until something changed in the environment which gave those with the mutation a very tiny advantage. There may be a big catastrophe wiping out many species and leaving the awkward subspecies of one just barely hanging on but able to exploit all those newly available niches.