Perhaps you are curious how people find new combos, what a combo is, or how to determine which moves combo, or what separates a good combo from a bad combo. From the outside looking in, it can appear like fighting games are just about memorizing these random combos the developers came up with to deal a lot of damage whenever you land a hit, but in reality, there is actually a reasonably simple system that governs how moves can combo, which allows people to research and develop new combos with different advantages, such as damage, corner carry, reset potential, meter gain, ending in knockdown, or other purposes. Also the combo used will change based on the starting move, the position on-screen, and how much meter you currently have. Viewed from overhead, combos are less like pre-determined sequences, and more like a tree of possible moves that can connect differently based on circumstance.
How do Moves Combo?
Put most simply, a combo is when you hit your opponent before they recover from the hitstun of a previous move. Every time you hit your opponent it will interrupt whatever state they're currently in, starting up an animation called hitstun. During hitstun, they have no ability to perform any actions. If you hit an opponent before their hitstun ends, there is nothing they can do to stop you, thus this is a combo. Incidentally, hitting them while they are in hitstun causes another hitstun animation to play as a result of the move you just hit them with, so it is possible to choose a sequence of moves that each deal enough hitstun to allow another followup.
The most simple type of combo is a Link (though it's generally the hardest to perform). A Link is simply a move that has frame advantage followed by a move that has a short startup. As long as the frame advantage of the first move is more than the startup of the second move, these two moves will combo as a link. You can cross-reference this easily and quickly on a frame data table by simply looking for any move with a high frame advantage on hit, and all the moves with a lower startup time than that.
To perform a link, you simply hit them with one move, then perform the next move as soon as the first move recovers. The tricky part is that the timing window on this may be extremely tight, even as tight as 1 frame. More modern games, such as Street Fighter V usually have buffers in place to make link combos easier. A good tip for practicing link combos is, if the second move comes out but does not combo, then you are pressing the button too late. If the second move does not come out at all, you are pressing the button too early. You must press exactly when the first move has fully recovered.
In Street Fighter V, we can look at Karin's frame data table and see the move with the most frame advantage on her is Crouching Medium Punch (c.MP), with +6 frames of advantage. This means it will combo into more of her other normals than any other move. From there we can look for all the moves with 6 frames of startup or less, which includes all of her light attacks (4f startup at most), Standing Medium Punch (5f startup), and Crouching Medium Kick (6f startup). Standing Hard Punch and Crouching Hard Punch deal a lot of damage, but both have 7f startup, so they're slightly too slow to link from c.MP.
You might notice I left out Crouching Medium Punch, even though it does have 5f startup, which is less than 6. There's no rule forbidding a normal move from linking into itself, but Karin's Crouching Medium Punch in particular does not have very much range, so after hitting the opponent once, it pushes them too far away to hit them again. Cammy meanwhile has a Crouching Medium Punch with 5 frames of startup, that is +5 on hit, with enough range to combo into itself.
So now that we know what combos off of Karin's c.MP, which move is best? Light attacks aren't a very good choice, because they deal significantly less damage than other attacks, and have a short range. Crouching MK deals 50 damage and 100 stun, while Standing MP deals 60 damage and 100 stun, so Standing MP seems to be our winner, thus making the standard link combo for Karin: c.MP, s.MP.
The simplest to perform type of combo is a Cancel, especially a Chain Cancel. In a cancel, the window to successfully combo is the entire duration of hit freeze when a move connects, which is typically around 10 frames. If you input the next move during this time, it will be held onto and performed immediately when Hit Freeze ends. This means with most characters in most games, you can do basic combos easily by simply looking up which moves cancel and which ones don't.
If you want to go further in depth though, not all cancels will necessarily combo. It depends on how much hitstun the cancel move deals, and how much startup the special move has. Frame Advantage is the small bit of hitstun left over after all the recovery frames have happened, hitstun is the full thing, which is why cancels work so much more reliably and less strictly than links, and why you can generally cancel any cancellable move into any special. However some specials with long startups will not necessarily combo. For example, Karin's Medium Ressenha will not combo from her Medium Punch, only her hard punch, but her Light Ressenha will. Karin's s.MP is +4 and s.HP is +2, so this is clearly not based on frame advantage. By adding together the active, recovery, and frame advantage of the move, you can get the raw hitstun value it deals, which also determines which specials it can cancel into successfully. s.MP has 3 active + 12 recovery + 4 advantage, giving it 19 frames of hitstun when you cancel it. s.HP has 4 + 22 + 2, giving it 28 frames of hitstun. Medium Ressenha has 21 frames of startup, which is more than s.MP's 19 frames of hitstun, but less than s.HP's 28 frames of hitstun. Light Ressenha has 16 frames of hitstun, so it will combo easily from s.MP's 19 frames of hitstun.
When you use a jumping attack on a grounded opponent, it puts them in hitstun like any other attack. And when you land, the landing animation cancels your jumping attack, so it gives you a lot of frame advantage from that hitstun! Unfortunately, this amount of hitstun is unlisted in most frame data guides, so you're not going to get hard numbers on most jump-in combos. The general rule is that the harder the attack, the more hitstun it will get, and the lower to the ground you use it, the more frame advantage you will get (because you're canceling it closer to when the hitstun starts, so you have more time to take advantage of it). Since you can't jump in the middle of a combo in most games, jump-in attacks are a good way to tack on an extra hit before the rest of your combo. It also means if you manage to jump-in successfully, a high risk maneuver, you'll get an easy confirm into whatever combo you like, a big reward.
In newer Street Fighter Games, heavy attacks will generally let you combo into anything no matter what height they hit, but in many other fighting games, you need to be more careful to land your jump-in attack as low as possible to make sure your followup combo will work. Be wary of how much hitstun a jump-in grants you, and which followups are possible from it.
Putting it Together
So we now know we can combo any Jump-in we like into Crouching Medium Punch into Standing Medium Punch, and we know we can combo Standing Medium Punch into Light Ressenha, lets put it together. The full combo is: j.HP, c.MP, s.MP xx QCB + LP > d+K (Ressenha has a down + kick followup for even more damage).
This deals 90 + 60 + 60 + 70 + 80 damage, for a total of 289. What!? That doesn't seem quite right. Shouldn't that add up to 360? So lets talk about damage scaling.
Damage Scaling is a system common to all fighting games, that reduces the damage a move does the further it is in the combo. There are a few different styles of damage scaling, per-move and per-hit. Street Fighter V uses per-move damage scaling, meaning damage is scaled based on the number of moves in the combo instead of the number of hits each move does. This means that multihit moves won't be penalized by making the rest of the combo weaker (which may or may not be desirable based on the style of game). From there, each move deals its damage based on what order it appears in the combo, with the first hit starting at 100% and each subsequent hit dealing 10% less damage. So the real damage calculation formula for our combo is 90 * 100% + 60 * 90% + 60 * 80% + 70 * 70% + 80 * 60%. But you don't need to worry about the specifics too much, there's some general rules you can follow to get good damage on combos without needing to do the math every time.
In a game like Guilty Gear or Dragon Ball FighterZ, there's even additional scaling (called proration) added onto combos when you use certain starters, such as lights, assists, or overheads. This means in Guilty Gear that a combo of Punch > Kick > Slash > Hard Slash will deal less damage than Kick > Slash > Hard Slash, and that will deal less damage than just Slash > Hard Slash. So using less moves actually makes the combo deal more damage! The key with damage scaling and combo optimization is generally to avoid using light attacks as much as possible, fitting as many heavy moves as early into the combo as can be managed, where they'll deal their whole unscaled damage. If it's a per-hit scaling system, then you also want to make sure they're single hit heavy attacks, rather than multihitting attacks. Morrigan in MVC3 wants to avoid using her multi-hitting Shell Kick (j.S) in lieu of her slightly less damaging j.H in optimized combos, because even though it deals less damage, it will make up for it by scaling the combo less.
Instead of ending the combo with the Ressenha down kick followup, we could end it with a Super instead, because specials cancel into supers. This would add 340 damage to the end, which after scaling computes to 445 damage. This is only 105 damage more than a raw super, but it's 156 more damage than if we didn't use the super. If it were a longer combo with even more scaling, it would still be a good choice to use Super at the end, because in SFV, supers cannot deal less than 50% of their original damage, no matter where they are in the combo. This is relatively consistent across most games, making supers a good way to end combos for a bunch of damage.
So what about Juggles?
Certain moves are capable of launching the opponent. Karin for example has qcf + K > P, a command dash with an uppercut attached that has a name too long to sensibly repeat. When it hits an opponent it will launch them, allowing them to be hit by other moves when they're in the air. Juggles work a lot like links, except the hitstun time while they're in the air is a lot longer, so they're usually a lot easier. Unfortunately, you're not gonna get hard numbers on juggle time, and different juggles can hit at different angles, so determining what juggles is usually more a matter of intuition than math. One trick though is that in the corner, opponents won't be knocked back as far when they're launched, because the wall holds them close to you. This means juggle combos are commonly more possible in the corner than elsewhere on the screen.
If the opponent is already in the air, they'll be launched higher than if they were launched from the ground, making some combos, like a dragon punch into a dragon punch, possible by buying you more time to recover while they're still in the air.
What limits combos?
So what factors keep combos from going forever? If a move links into itself, why can't you just repeat that move until time-out? The obvious first component is pushback. If you push your opponent too far away, your next move won't reach anymore. Sometimes it's possible to cancel into moves that move you closer to your opponent and leave you at frame advantage, but even when this is the case, most games are careful to have these moves not move you closer than the pushback of the move you canceled from, so even if you can reduce pushback, you can never get rid of it completely, and are eventually pushed out, ending the combo. If they do let you get all the way back in, then this ability is usually tied to meter in some way, so it's limited by your resources.
The other thing limiting your combos are chain routes. In most games, Normals cancel into Specials, which cancel into Supers, which usually cannot be combo'd after, or which are limited by how much meter you have. The chains go 1 way only, so eventually you reach the end of the chain and can't combo anymore. When moves cancel into each other, it's possible to make it so none of the moves in the combo have enough frame advantage to link, limiting combos to exclusively chain cancel routes, forcing the combo to end when the chain route ends.
With juggles, you can have a variety of factors limiting combos, including pushback, juggle points, hitstun scaling, and progressive gravity. Juggle points are invisible points that get added whenever a hit connects during a juggle. In most games, a juggle point is added every time the opponent is hit in the air. In some games, individual hits can deal multiple juggle points at once (Street Fighter III: 3rd Strike), and in others, they all uniformly deal 1 juggle point (Street Fighter IV and V). Some games end your combo by making the opponent invincible to further hits when you reach the juggle point limit (SF III: 3s), and others have a juggle potential system where every hit of every move can only connect if the current juggle points are below that move's juggle potential (SFIV and SFV). Hitstun scaling reduces the duration of hitstun, allowing the opponent to air tech sooner after being hit with each successive move, making it so eventually you don't have enough hitstun to continue the combo. Progressive gravity increases the gravity over the course of the combo so eventually opponents are too heavy to continue to juggle.
Other games have systems like meters, timers, or hit counters that make the combo naturally drop when they go over time. Skullgirls uses an Infinite Prevention system that can detect whether a given chain is using the same starter as a prior chain in the same combo, and will allow the opponent to burst out if that starter was used before.
What Other Factors Can Influence Combos?
In some circumstances, combos become possible that otherwise don't work. I mentioned the corner keeping juggled opponents close above, which makes juggle combos easier, but another two factors are meaties and counter hits.
Counter hits are a bonus awarded when a move interrupts another move during its startup frames, granting 2 extra frames of hitstun in SFV (and in other games, sometimes a lot more). When you set up a frame trap, any attempt your opponent makes to mash out becomes a counter hit, letting you string together moves that normally wouldn't connect, which can make your block strings longer than just sequences of moves that naturally link into one another. Cammy's c.MP, c.MP, c.MK blockstring is a basic example of this. c.MP naturally combos into itself, but c.MP cannot combo into c.MK, unless you land a counter hit. If an opponent blocks your first c.MP, they might want to press a button to stop you from walking in and throwing them, but get caught by your second c.MP, which creates a counterhit, allowing you to combo the second c.MP into c.MK, then confirm into a special.
SFV and some other games also award big bonuses for landing certain heavier and slower moves as counterhits, to promote you going for hard reads on risky moves in neutral (even if it doesn't always work out this way). In SFV, this is called Crush Counter, and it has a noticeably big stun animation to give you extra time to land a big combo afterwards.
Meaties are attacks that hit on their later active frames, so the hit stun starts later in the animation. The most common situation to time a meaty is when an opponent is waking up, because you can attack early, having the earlier active frames of your attack whiff them while they're still invincible on wakeup, only catching them with the later active frames (this is why hitting people when they wake up is generally called a meaty, even when you're not aiming to get a real meaty hit). Doing this gives you more frame advantage, which can create tighter blockstrings, or allow things to combo that normally wouldn't. The more active frames a move has, the bigger a meaty advantage it can get, but the catch is you'll only get this meaty advantage on the first hit of the combo if you use the wakeup trick.
Another way to get meaty attacks is to space a move that travels over time so that it connects later into the move. Ky Kiske's Stun Dipper in Guilty Gear is purposefully designed to take advantage of this, only comboing into the second hit if it is spaced properly away from the opponent. Urien in SFV has a famous Headbutt Loop combo where he spaces very precisely to land standing LP into meaty MP headbutt. Headbutt is normally +1, but with its 4 active frames, if it hits meaty on the last active frame, it can be +4, gaining 3 extra frames of advantage. You can see this combo in slow motion with hitboxes here. There are even more ways to set up meaty attacks that I cannot cover here. If you notice an attack has a lot of active frames, it can be a meaty.
Projectile and Assist Setups are the another way to create combos. If a projectile or assist can hit right after a non-linking non-canceling move, it can fill in the hitstun necessary, allowing you to pick up your opponent and continue the combo.
Taking damage can even be a tactic to extend combos! Admittedly, this is extremely uncommon, but in some cases, it's possible to take damage in the process of hitting your opponent, and the hitstun inflicted by that can be smaller than your move's normal recovery time, allowing you to link more moves afterwards. Admittedly, this is extremely uncommon and basically never happens in real matches, but that doesn't stop combo video makers. If you happen to trade with your opponent and your move deals a lot more frame advantage than your opponent's, sometimes you can combo off it, especially if yours starts a juggle and theirs doesn't, so watch out for these situations.
So as you've probably guessed, you can use different moves at different points in a combo, to get different results, but why would you ever do anything other than the maximum damage dealing combo every time? One answer is there's a lot of tradeoffs between different combo routes other than just damage. To get that extra damage, you're frequently trading other advantages. The other answer is based on your starter. Not all starting moves are created equal, and your followups will change based on what move you used to start the combo.
So in the first case, Cammy in SFV has 2 main special moves, Cannon Spike and Spiral Arrow. She can end practically any of her base combos with either one of these. Cannon Spike deals more damage, but Spiral Arrow places Cammy right on top of her opponent when they are knocked down, so she can continue pressuring them on wakeup. So at the end of every combo she needs to decide which is more important, damage or okizeme?
Another example with Cammy in SFV is s.MP, s.HP (a lot of damage) versus c.MP, c.MP, c.MK (a little damage) versus b.MP > HK (the most damage). In the first combo, you only have 1 move to hitconfirm off, so even if you catch them with s.HP, if s.MP didn't hit, you have no way of knowing whether s.HP is going to connect, so if your opponent is trying to mash out of your pressure, you won't get a combo off it. In the second combo, if the opponent blocks the first hit, but mashes after that, they get caught by the second c.MP, and you can confirm into the c.MK. You won't get as much damage as the first combo, but you get a confirm on counter hit, so you can combo more reliably when you get a frametrap, which nets you more damage than just a lone s.HP. In the last combo, b.MP > HK, you don't have any chance to frametrap, and the HK target combo is unsafe on block, so you'll get a maximum damage followup, but you're also betting everything on the b.MP hitting. So across all these examples, you're trading between the number of chances to hitconfirm, the damage, and the safeness of the combo.
Other factors that can trade off during a combo are corner carry (how far it carries the opponent across the screen), side switch (letting you get out of the corner and put your opponent in the corner), meter gain/usage (gaining as much meter as possible, using your meter as efficiently as possible), providing a setup to buff your character, reset potential (letting you drop or continue the combo, for the chance to either go for small guaranteed damage, or start a whole new combo for tons of damage), and of course getting more advantages on knockdown. It can also be important to pay attention to the situation in which you land the combo, such as whether your opponent is in the corner or not, and whether a character-specific combo is possible against your opponent's character.
And obviously different starters can influence which combo you go for. In Guilty Gear, Sol Badguy has different combo routes based on whether his starter is Gunflame, Riot Stomp, Fafnir, Throw, Wild Throw, Blitz Attack, 5D, and close range or far range normal moves. Different followups are possible in all of these cases, such as side switching combos into dust loop off wild throw; Gun Flame popping the opponent up for an air dash combo; far S leading into H, then grand viper; and more.