PBFT and most consensus algorithms are more complicated than a simple voting scheme. By simple voting I mean the following: we require all nodes to sign their local copy of the state and send this signed message to all other nodes. Each node then collects messages from all other nodes, and accepts the state if more than t < n nodes agree on the same state.
There are many ways to achieve the scheme above (e.g., each node individually signs, or using threshold signatures), which seems much simpler than other protocols such as PBFT (which among other things, requires designating a leader).
Therefore, I'm left to assume that voting can't directly produce a secure BFT protocol, but my question is - why is this the case? Where does consensus by voting break?