What is the difference between substitution cipher and block cipher?
I feel this description is talking about the problem of ECB mode in block cipher.
So my understanding so far is that substitution cipher can be considered as a block cipher. But I'm wondering if a block cipher is always substitution cipher.

(1) let us compare a block cipher with ECB mode to a substitution cipher.
With ECB Mode and a given key, a block cipher can be seen as a substitution cipher which maps one block to another block. For example, AES, twofish, or serpent has a block size of 128 bits; you may say, &quot;one 128-bit block is substituted to another 128-bit block&quot;. 
(Note: this is just a simple comparison. If a block cipher has a &quot;state&quot;, the same input blocks might get different output blocks. In this case, the block cipher might be compared to Vigenère cipher.)
While a Caesar Cipher maps one letter to another letter. That is from a 5-bit to a 5-bit, or at most a byte to a byte. (From this point, you could be right to say &quot;substitution cipher can be considered as a block cipher&quot;; but the block size is quite small.)
So, I might say a Caesar Cipher is a special block cipher which has a small block size; or, on the other hand, a 128-bit block cipher (with ECB mode) is a &quot;monster Caesar Cipher with 2128 letters&quot;.
(2) a block cipher with certain mode (except ECB) 
This is a fun part. From my point of view, if you want, you can actually create a Caesar Cipher with CBC, PCBC, OFB, CFB, CTR modes by replacing the IV or counter with a letter.

What is the difference between them in general.

(3) difference 
They are quite different in practice.
But the main one is size: block size, key size, IV size, and counter size. (The last two is really the block size for different uses). 
If a monster Caesar Cipher has 2128 letters and has CBC, PCBC, OFB, CFB, CTR modes, it might be as strong as a 128-bit block cipher.