Yes this is very true. History does shape such rulings. But it always seemed illogical to me that people who had British grandparents(4 such grandparents in most cases) and who were of English stock, were not eligible for British citizenship, if their parents were not British. I have Australian 2nd cousins who found themselves in exactly this situation. But I believe that the law was recently changed for the better here in the UK.
Germany like you suggested, has had these laws for good reason. But it's not only Germany, many other countries in Europe have similar laws. Poland for one, also recognises people of Polish ancestry, probably for similar reasons as you gave for Germany. As Poland also gave up some of it's historical lands after the 2nd World War. But many European nations also apply such laws.
For Germany though, this law has meant that hundreds of thousands of ethnic Germans whose families have lived in other countries for decades, sometimes for over a century, are eligible for German citizenship. Even as far afield as countries like Kazakhstan, where many of the ethnic Germans there can no longer speak German. However, I think that it is apt that this law is maintained, in acknowledgement of their German heritage.