Okay so first and most basic rule: Your 4 carry roles need at least one of each element: Tankiness, Burst, and DPS.
This is known as the damage triangle and the 4 carry roles need to be most aware of it since they receive the most gold and thus are allowed the most items to augment these stats. For example, a Tank Top, Tank Jungle, Burst Mid, and DPS bottom is what people consider the most common combination. With Azir and Cass as DPS mids though, it's far more favorable to play DPS Mid and Burst bottom if your entire team is prepared for it, for example. If you are missing one of the three elements from the 4 carry roles, your team becomes particularly weak to the preceding section of the damage triangle (for example, if your team has no tank, have fun if the enemy Burst Carry gets fed). This is usually the most obvious indicator of bad team comps and plagues solo Q when everyone wants to (for example) play DPS carries and not enough people want to play Burst or Tank Carries.
Second is understanding a win condition for the team. Different champions have different win conditions for example. Katarina's strongest contribution to the team is her ability to wipe out squishies and potentially destroy entire teams as an AOE Assassin, however her individual split pushing power is incredibly weak and she provides little wave clear for the team. If you coordinate your team so you have powerful team fights and can cover for Katarina's weak wave clear, you build a strong centralized comp around her. If your entire team shares an entire weakness however (let's say everyone on the team has weak wave clear), that presents something the enemy team can take advantage of.
Situational picks are usually lane checks, and more important for red side or last pickers. Anyway, the point is you're trying to check the enemy laner by picking a champion the enemy champ is weak against (Tanks>Burst>DPS>Tanks) but you should not get carried away. At best, focus on at most 2 carry laners you want to counter pick like that, and use the other 2 carry laners to round out the rest of the team.
Knowing what's good in a team comp is, as related to your post, knowing far more about team dynamics than just lane dynamics. Think of Brand for example, specifically, think of his weaknesses. Now, think of another champion that can cover those weaknesses. Now you might want to fill up the rest of the damage triangle based on those two picks, focusing on emphasizing Brand's strengths. That's an example of how to build a team comp.