_getVotes() in GovernorVotes.sol takes bytes memory as a parameter, what does this parameter do?

Also, importing either IVotes.sol or ERC20Votes.sol would function the same here if the token is an ERC20 one, right? https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/governance/extensions/GovernorVotes.sol

Yes, but IVotes also allows the use of ERC721Votes.