Formally, a block cipher is a kind of cryptographic primitive. For a given block length $n$ and key-length $k$, each key $K \in \{0,1\}^k$ somehow chooses (deterministically) a permuation $E_K : \{0,1\}^n \to \{0,1\}^n$, such that both $E_K$ and its inverse $D_K = {E_K}^{-1}$ are efficiently computable, given $K$. (We can define this over non-binary alphabets, too.)
This means, each $k$-bit key maps $n$-bit blocks on (other) $n$-bit blocks and back, in a way that is always identical. The classical Caesar-cipher could be seen as a block cipher
A block cipher itself is not yet usable for encryption – for that, we need to wrap it in a mode of operation. This essentially builds an encryption scheme based on the block cipher.
The simplest one – split the message in blocks of the right size and then pass each of them through the block cipher (ECB mode) – is not very secure, if you have messages longer than one block or multiple messages using the same key. There are many other modes, with slightly different properties.
The block size is defined by the algorithm. While there are some algorithms (or actually algorithm families) which support multiple block sizes, you still have to chose one of them.