a) There’s no straightforward answer to this. A lot of things factor in when deciding how good a move is as a poke. Startup, active frames, frame advantage, reach, hitbox, hurtbox, recovery, damage and possible forward/backward movement are all things that matter, and it’s not like one thing is necessarily more important than another. I guess the easiest answer is that a move is good for poking when it allows you to challenge/control screen space without putting yourself at too much of a risk. A button with good range, hitbox and damage but bad frame data on block/hit may often be inferior to a quick, low-damage move that’s safe on block and recovers so fast that it’s hard to punish on reaction. Which conveniently brings us to the second part of question A.
A move that’s not a good poke can often still be useful as a counterpoke. While the button by itself is not suited to try to hit the model of a character, it may very well be suited to hitting the extended limbs of a character that’s trying to poke you. A great example of this is Dudley’s s.HK. The move doesn’t have that much range, but it has an excellent hitbox when it comes to hitting moves that extend a limb straight forward at chest height (which is a lot of far-range standing pokes), and can be buffered into EX machinegunblow to get a huge combo when it punishes a whiffed move.
You also have the slightly less specified counter-poke, which just has great range and is fast, but is unsafe on block and whiff(long recovery), so you can’t just throw it out. People usually have to fight within the range of this move, however, so if they whiff something, you might be able to punish it on reaction, thus circumventing the fact that the move is unsafe (because if you’re whiff punishing, there’s no sense in worrying about how the move is on block: you know it’s gonna hit!). Shoto sweeps generally function this way. Great range, great speed, but unsafe if used improperly.
b) A good anti-air is simply a move that is good at punishing people for trying to jump in at you. Most characters have different anti-airs to cover different angles. Ryu, for example, has his DP, which is excellent at dealing with jump-ins from most angles. He has some spacings where the DP doesn’t cover, however, but his far s.HK covers the areas further out, while his close s.HK, c.HP and close s.HP cover the areas closer to him decently.
Most AAs extend a move upwards, but some also just low-profile the jump-in. Chun-li c.MP is a good example of this.
c) If a normal is not good as a poke, counterpoke, whiff punisher or anti-air, it’s probably a move that’s useful up close. Usually you’ll see these kinds of moves be overheads, low combo starters, moves with very good frame advantage on block/hit, moves that evade lows/throws, or moves that are useful for ticking into throws. It might also be an anti-fireball-move, or have some weird, gimmicky application. If a move is not good for any of these things, it’s probably not a move you’ll want to use all that much.