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.
Link Combos
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.
Cancel Combos
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.
Jump-in combos
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.
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.