A: The easiest place to start is by understanding that you treat each event separately, so let's look at these event by event.
Engagement gift giving is in a state of change in the United State. Traditionally, engagement gifts were small tokens given by the couple's close family. Over time, they have become more standard from all guests in large cities and the Northeast, though it's still very case by case. The trend seems to be towards giving a gift, but the best thing is to check with your host if you aren't sure. If you do bring a gift and others didn't, don't be surprised if the couple sets it aside to open later, so as not to embarrass guests who didn't bring a gift. Engagement gifts are still considered small gifts, such as a cookbook, vase, or bottle of wine.
Do bring a gift to a wedding shower—that's the point, after all—and play along with any gift themes the hosts may have organized. If for any reason you are invited to more than one shower, you only need to give a gift at one of them. If you are invited to either a shower or an engagement party and you can't attend, you don't need to send a gift, though you may if you wish.
If you are invited to the wedding itself, you always send a gift, whether you can attend or not. It has no bearing whether or not you already gave gifts other parties; treat each event separately. If you are invited to a wedding reception only (often called a second or belated reception)—but not the actual wedding ceremony—you may bring or send a gift if you like, but it's not expected, regardless of attendance.