Competitive can have both a positive and negative connotation. Usually it's positive when it relates to sports. It also implies that there is another person (or group of people) you are competing with.
Aggressive usually has a negative connotation. It means you will do whatever it takes to get what you want (to the extent of being pushy). But unlike "competitive," "aggressive" doesn't imply that there's any particular person you are competing with.
A competitive person's goal is to win. An aggressive person's goal is to achieve. If that makes any sense :)