user43713: There's a gap in my understanding regarding the generation, via hashing, of bitcoin addresses. (I'm quoting from Antonoplous  below for convenience, but I have consulted multiple other sources.)
According to Antonpolous:

"The bitcoin address is derived from the public key through the use of
  one-way cryptographic hashing. (Antonpolous, 2014:71)"

My understanding of public keys is that they do not change once generated from a private key (via ECDSA multiplication):

"Because the generator point is always the same for all bitcoin users,
  a private key k multiplied with G will always result in the same
  public key K.(Antonpolous, 2014:68)"

Best practice regarding bitcoin addresses recommends that:

"a unique address should be used for each transaction. Most Bitcoin
  software and websites will help with this by generating a brand new
  address each time you create an invoice or payment request.
  (Antonpolous, 2014:188)"

I understand that performing a hash function on the same data will always produce the same result (digest):

"For any specific input, the resulting hash will always be the same
  and can be easily calculated and verified by anyone implementing the
  same hash algorithm." (Antonpolous, 2014:188).

Given all of the above, my question is, how can different addresses be generated from the same, unchanging input, namely the public key? 
Is it the double-hashing (SHA256 + RIPEMD160)? Is it the address pool? Is it due to deterministic wallets? The answer is probably simple and staring me in the face, but I can't see it. Thanks for any clarification. 

user44264: For some reason you came to the conclusion that you can just derive multiple addresses from a single public key, but the quoted text doesn't say that. It says that the public key is uniquely generated from the private key (by multiplying the curve generator G by a random 256-bit number which is the private key). It also says that the address is derived from the public key by hashing it (RIPEMD160 & SHA256). Finally it says that it's a good idea to use a different address every time.
That doesn't mean you generate multiple addresses from the same public key. Each time you have to generate a new private key, then public key from that private key and finally the address from the public key.

user43713: To reinforce the good answers already given about key pairs...

"As an additional firewall, a new key pair should be used for each
  transaction to keep them from being linked to a common owner."

Satoshi Nakamoto, Bitcoin whitepaper, 2009, page 6:

43713: <p>There's a gap in my understanding regarding the generation, via hashing, of bitcoin addresses. (I'm quoting from Antonoplous  below for convenience, but I have consulted multiple other sources.)</p>

<p>According to Antonpolous:</p>

<blockquote>
  <p>"The bitcoin address is derived from the public key through the use of
  one-way cryptographic hashing. (Antonpolous, 2014:71)"</p>
</blockquote>

<p>My understanding of public keys is that they do not change once generated from a private key (via ECDSA multiplication):</p>

<blockquote>
  <p>"Because the generator point is always the same for all bitcoin users,
  a private key k multiplied with G will always result in the same
  public key K.(Antonpolous, 2014:68)"</p>
</blockquote>

<p>Best practice regarding bitcoin addresses recommends that:</p>

<blockquote>
  <p>"a unique address should be used for each transaction. Most Bitcoin
  software and websites will help with this by generating a brand new
  address each time you create an invoice or payment request.
  (Antonpolous, 2014:188)"</p>
</blockquote>

<p>I understand that performing a hash function on the same data will always produce the same result (digest):</p>

<blockquote>
  <p>"For any specific input, the resulting hash will always be the same
  and can be easily calculated and verified by anyone implementing the
  same hash algorithm." (Antonpolous, 2014:188).</p>
</blockquote>

<p>Given all of the above, my question is, how can different addresses be generated from the same, unchanging input, namely the public key? </p>

<p>Is it the double-hashing (SHA256 + RIPEMD160)? Is it the address pool? Is it due to deterministic wallets? The answer is probably simple and staring me in the face, but I can't see it. Thanks for any clarification. </p>
 44264: <p>For some reason you came to the conclusion that you can just derive multiple addresses from a single public key, but the quoted text doesn't say that. It says that the public key is uniquely generated from the private key (by multiplying the curve generator G by a random 256-bit number which is the private key). It also says that the address is derived from the public key by hashing it (RIPEMD160 &amp; SHA256). Finally it says that it's a good idea to use a different address every time.</p>

<p>That doesn't mean you generate multiple addresses from the same public key. Each time you have to generate a new private key, then public key from that private key and finally the address from the public key.</p>
 43713: <p>To reinforce the good answers already given about key pairs...</p>

<blockquote>
  <p>"As an additional firewall, a new key pair should be used for each
  transaction to keep them from being linked to a common owner."</p>
</blockquote>

<p>Satoshi Nakamoto, Bitcoin whitepaper, 2009, page 6:</p>
