Like any multiplayer team-based game, each hero will usually have a role issued for him/her. A hero's role is the part the hero plays during a match. Some heroes are better at one role, while others can adapt to a lot of roles. Understanding the role of your own hero is key to winning a match.
The carry is a hero with the capability to carry the entire team to victory. These heroes are extremely dependent on farming and are usually relatively weak at the first half of the game. However, once they get enough gold and bought some powerful items, they can shred the entire enemy team. One very VERY important rule for carries is that there should only be ONE carry on your team. A carry, as stated before, is very farm dependent, and multiple carries will have to compete with each other for gold and experience. At the end of the day, having too many carries will result in neither being exceptionally powerful.
Some heroes are considered "hard" carries. These heroes are very weak early on and need a lot of farm to be effective, but become monsters by late game. Examples of these heroes are Sniper, Faceless Void and Anti-Mage. These heroes can make a comeback by late game, so they provide some insurance in case your team is losing. Other carries can be considered as "soft" carries, though that term is rarely ever used, and these heroes are mostly just described as carries. These heroes reach their maximum potential earlier than hard carries, but will lose to a sufficiently-farmed hard carry. Examples of these heroes are Juggernaut and Naga Siren. These heroes can contribute for their team earlier, but if there's a hard carry on the other team, it's wise to end the game faster.
The overall strategy for playing any carry is to farm a lot and don't die, which is easier said than done. As carries are the backbone of their team, they are usually priority targets for ganks during the early-mid stages of the game, where they are less effective. Carries must also have a great sense of timing and lane control ability to get as many last hits as they can. Generally, the mentality for playing a carry is to be as selfish as possible during the early-mid game, taking every last-hit, killstealing and leaving teamfights to your allies unless it's to defend a building. Once you get the necessary items and is at a high enough level, that's when you really start to make an impact during a teamfight. You can easily destroy every enemy hero except their carry in a matter of seconds, but remember that you aren't invincible, so trying to take 5 heroes alone is a bad idea. Enough heroes can still kill you with disables and burst damage. Don't stray too far from your allies and only take on large fights with your teammates.
A support is obviously a hero that has good abilities to help his/her team. These heroes don't need to farm for items to be effective as they already have great innate abilities to help them perform effectively. A thing to remember as a support is to let the heroes that need more gold get last hits.