Silent Hill 3 has better puzzles, better bosses, better voice acting, better music, and better graphics. And Heather is a much better protagonist.
Silent Hill 2 has a better story and a better ending.
I like Silent Hill 2 more. Makes me wish SH3 was actually more of a character driven story about Heather's personal hell, like SH2. Which was the original intent, before they scrapped everything and made it about the cult from the first game.