it also returns bytes, but often the coder isn't interested in the return data, so omits it eas in your example. Otherwise, something like this e.g.
(bool success, bytes memory retData) = msg.sender.call{ ...
see 1.
no, not a reserved name, just a meaningful name for the example. anything that didn't match a function name would have worked just as well