According to the official info, it's deprecation, not replacement, in a particular scenario:
&foo is gone, but & foo is ok (must have a space)
One has to distinguish among &foo, &.foo and & foo.
Use @extends instead of this.
means &foo alone.
@extend doesn't replace the reference to the parent selector: &. The two function differently and serve distinct purposes. The new '%' provides a better placeholder instead.
What @extend does now is producing new selectors. With the '%' new implementation, @extend behaves also like '&' and it adds to the existing selector, it doesn't create a new one, only it's not restricted to referencing the parent selector only, like '&' is.
The problem with '&' placeholder is that it's restricted to current nested SCSS, and collects all the selectors to the node.
@extend works throughout the entire stylesheet, and with the new '%' option it's now kind of a universal and custom '&'.