По производительности или по количеству возможностей или чему-то там ещё.
1)
s = "Hello {w} !".format(w = "world")
2)
w = "world"
s = string.Template("Hello ${w} !").substitute( locals() )
p.s. Согласен, тема s = «Hello %s !» % «world» не раскрыта.