Potential strenghts of a normal move in a 2D classical fighting game like street or Kof :
- Damage potential (is it a standalone powerful hit, or a combo starter leading to 999 dmg etc)
- Good range
- Good hitbox (covering the biggest angle is better)
- Good startup (hitbox appears quickly)
- Does it require to be blocked specifically ? Like a low attack or overhead
- Whiff animation is quick, means it's hard to punish if you whiff it
- A lot of active frames, means it's easier to hit, you can meaty, or reverse a frame disadvantage
- Gives frame advantage on block or hit, means you can do another normal move after it (positive, maybe link another thing)
- Cancelability rules, if you can cancel into special move/super move or unique attacks, you add some guessing for the opponent, are you going to cancel or not etc.
- Making your character move when using it instead of just staying still
- Making your character in air when using it (usually means if you get hit while doing this move, you won't eat a combo but a single "air-reset" hit)
As opposed to potential weaknesses :
- Low damage potential
- Short range
- Bad hitbox (very precise to hit with the move)
- Slow startup (you can easily get interrupted if you use the move so you have to use it when opponent doesn't want to use quick moves)
- Being able to block it from any block type, high or low
- Whiff animation is slow, meaning if you don't touch the opponent you are open to get owned
- Only one active frame
- Gives frame disadvantage on block, either making the move negative (your next attack will be coming slower) or unsafe (the opponent can punish you with a combo after blocking the attack)
- Cancelability rules are not good, extreme aspect of this is that the move is just not cancelable at all
- Making your character move can also be a weakness if you are very disadvantaged when the opponent blocks. If you're too negative it makes you get close and open to a punish which is easier than requiring your opponent to walk towards you a bit to punish
- Making your character float in air forever which leads to easy punish for your opponent
Usually you balance your moves choosing from these things, like, you can have a very powerful, combo starter and quick close attack, which is positive but has a crappy hitbox, or a very slow special move which hits overhead, is unsafe it opponent guards it correctly but lets you make big damage if you hit and is hard to punish. An attack like this would have a weakness against quick moves and against opponent guarding correctly.
Those things are for very basic fighting engines, when you make your game you add some spice in the mix with some mechanics which can nullify or empower a precise aspect of the game. (For example, the "counterhit" mechanic is often used in sf kof or tekken and rewards opponent for hitting in the startup of your attack)