There are two reasons I think:
static has two different meanings: at class scope, it means shared by the whole class while at file/function scope it affects the visibility/storage...
- unnamed namespaces allow to declare new
struct, class and typedef
One note though, the commitee backpedaled on this: static is no longer marked as deprecated in n3225.