While he is an excellent pass rusher, he is only an average player against the run, and can be a liability in pass coverage. He deserved a new contract, but for a guy who misses games each season due to injuries, is not worth anywhere near the money he was given.
Matthews has missed nine games over his five year NFL career, and when he has been absent, it hardly has affected the Packers at all. In those nine games the Packers are 6-3, and have allowed about 22 points per game.
Matthews is a good player, but he is not great, and he is definitely not worth anywhere near the amount of money the Packers are paying him.