Ice vs. Dragon
This makes sense because Dragons are cold blooded and thus get tired in the cold. When you are tired you are weaker so it makes sense that using the cold against a reptile would be highly effective.
Fight vs. Dark
Fighting vs. Dark is a good vs. evil struggle, the Fighting type represents the noble swordsmen or martial artist fighting the wicked forces of evil. Good always triumphs over evil so Fighting is super effective against Dark.
Bug vs. Dark
I do not fully understand this one but it could be that bugs are attracted to light and not dark, or that insects are distracting such as in the case of Bug vs. Psychic. Though it could just be that there had to be another type it was weak to so it would not be over-powered.
Ghost vs. Ghost
I think is because it is a takes one to beat one kind of thing similar to Dragon vs. Dragon. Ghosts are commonly thought to be intangible and thus can not be touched through ordinary means (reason for Fighting and Normal immunity) so it would take a Ghost to hurt a Ghost.
Electric vs. Grass
I always thought it should be Electric super effective on grass because Lightning can start fires. But Grass already has waaaay to many weaknesses and Electric gives it a useful resistance. Also Grass grows on the ground and the electric charge would be absorbed quickly by the ground.
Ground vs. Poison
The Ground can simply be piled on Poison to absorb and dissipate it. Not much to say on this one.
Flying vs. Fighting
This makes a lot of sense, ever tried to catch a fly? It is hard isn't it? They just go out of your reach and you can't hit them and then continue to buzz around you so fast you can not hit them. Or if you tried to Attack a bird it would just fly out of reach and could quickly attack you before you could hit it. It is very hard for someone who fights with their fists to attack something in the air so it makes sense that Flying has an advantage over Fighting.
Hope I helped :D