Greater hero? Cloud, cause he saved the world. Zack, mainly saved Clouds life making him the hero he dreamed to be.
My opinion on him when I first played VII was I wished there was a way to recruit Zack. I even tried to take Barret and Tifa down to fight an infinite amount of shinra troops in a subway in hopes Zack would show up. However he was dead. He was also defined in VII as the true Solder of the compilation.
During Crisis Core I found his character pretty intact. Sometimes he had a umbrella moment where the umbrella is actually stronger then the buster sword. Though he did do a lot of importance he still falls as the guy that died saving cloud.
I liked him.