SHA-256とSHA-512はどちらもSHA-2系列の安全なハッシュですが、出力長が異なります。SHA-256は256ビット(64文字)、SHA-512は512ビット(128文字)を生成します。どちらも現在まで実用的な攻撃は知られていません。
核心的な違いは内部の演算単位です。SHA-256は32ビット、SHA-512は64ビットのワードで動作します。そのため64ビットCPUではSHA-512の方がむしろ速いことがあり、32ビット環境ではSHA-256が有利です。
セキュリティ余裕の面ではSHA-512の方が長いハッシュを提供しますが、大半の用途ではSHA-256の256ビットでもすでに十分です。ハッシュが長いほど保存・転送のコストが増えるため、特別な要求がなければSHA-256が実用的な既定値です。
まとめると一般的にはSHA-256、64ビットサーバーで最高性能・長いセキュリティ余裕が必要ならSHA-512です。SHA-384はSHA-512を切り詰めて長さ拡張攻撃を防いだ変種で、証明書などで併せて検討できます。