Assuming you are using the correct Secret Recovery Phrase (which can restore multiple accounts) or private key (which can restore only one account when imported), it is impossible to restore the wrong account(s). Check to see if any of the following apply to you:
If you are encountering this problem, the most common reasons are:
The Secret Recovery Phrase (SRP) you currently have is not the one that restores the account you are looking for. In other words: you have the wrong SRP.
The account you are missing was a secondary account created under the SRP you currently have.
To check if that is the case, use https://danfinlay.github.io/mnemonic-account-generator/ to generate 10 to 100 accounts and check if the missing accounts are in that list. (Bear in mind that the generator will produce account addresses without the 0x at the start, so copying an address from elsewhere that does have the 0x prefix will produce no matches.)
If the account you're looking for is a secondary account, you can recreate it in MetaMask by following the instructions here.
The SRP you have was originally generated by a different wallet provider.
If you think this could be the case, try restoring your account using that wallet to check if you get access to the missing account.
The missing account was imported using a private key.
This is what is known as an imported account. In this case, the only way to access the account is to reimport it using the private key.
The SRP was written down wrong or is being entered incorrectly when restoring.
One frequent problem is poor handwriting when writing down the SRP; another is writing the words in the wrong order. The words must be in the order in which they were originally presented.
The SRP is actually restoring the account, but what is missing is the custom tokens that need to be re-added.
You can follow the steps here to re-add them.