In my opinion and looking at things the way people thought back then, Elizabeth was completely justified in having Mary executed. Mary was simply too much of a danger to Elizabeth and her reign.
We know, for example, that Mary was actively trying to replace Elizabeth as the Queen of England. It is not completely clear as to whether she was trying to have Elizabeth assassinated, but she was clearly plotting to get her off the throne.
Mary was also a major danger to Elizabeth because she was Catholic. If left alive, she might have plotted with the pro-Catholic elements in England to remove Elizabeth.
So executing Mary was a matter of self-preservation--something that was not unreasonable in that period of history.
Queen Elizabeth I was a very compassionate and understanding leader who had no grudge agaisn't the Catholics she was very tolerant and only punished her people for breaking the law.
The Queen was pushed into killing Mary Queen of Scots but I believe in the end she did the right thing even if having someon executed is very usely wrong. At that period of time it was not unusual. Futhermore many of her subjects wanted Mary's death as well so Elizabeth I acted for the best of her Country.
Mary being Catholic was also a threat to the throne, Spain used Mary Queen of Scots to their own ends by using her as an excuse to attack Britain ( see history on the Spanish Armada).