Are the terms Account and Address in Ethereum used interchangeably? i.e., an Account is an address. An address points to an account
In practice, yes.
Within accounts, you have a distinction between internal and external accounts.
Internal accounts are contract accounts.
External accounts are linked to private keys.
In both cases, addresses are used to refer to the accounts.
The Constantinople hardfork will lay the ground for a "all accounts are contract" base, which would eventually allow fees etc. to potentially be paid with tokens.
Are they used interchangeably in practice?
Should they be?
Do they actually mean the same thing?
An account generally means the thing that has the ETH balance, the thing that you send a transaction from, the thing you deploy a contract from, etc. The account can be "external", aka comprised of a keypair (private key + public key) or it could be a "internal", aka a contract account, which has no private key associated with it and is controlled via other external accounts or simply holds information.
An address is a very specific string that consists of
40 hexadecimal characters and is used to identify an account.
In the case of 'normal' (external) accounts, this address is derived by taking the private key, generating the public key from the private key, and then generating the the address from the public key.
In the case of contract accounts, the address can be derived from the deploying /
sender's address + nonceor, because of EIP 1014: Skinny CREATE2 that was included in the Constantinople hard fork in early 2019, via another combination of data.