回答
"For almost 100 years, Great Britain controlled Nigeria." (A)
"For almost 100 years, Great Britain has controlled Nigeria." (B)
"For almost 100 years, Great Britain had controlled Nigeria." (C)
Aの英文をより文法的に正確な表現で書くと、過去完了形を使ったCの文になります。「過去のある時点から、過去のある時点まで、そうだった」という意味、つまり、「かつて、ある状態が継続的に続いていた」という意味です。その意味で、Cの英文のほうが文法的に正確なのですが、継続の意味であるにも関わらず、Aの文のように、単にある時の一点を表す、過去形で表現してしまうネイティブもいますし、それも許容されてはいます。ただし、文法的にはCの方がより正確であることは、ネイティブスピーカーも知っています。
Bの現在完了形で書くと、「過去のある時点から、現在までずっと」継続しているという意味になります。現時点でもunder control 、つまり「支配下にある」という意味になります。
この質問に回答する
"For almost 100 years, Great Britain controlled Nigeria."と
"For almost 100 years, Great Britain has controlled Nigeria."と
"For almost 100 years, Great Britain had controlled Nigeria."は具体的にどう違うのでしょうか。