BPDUs are sent out all STP ports. This is because you need to detect a topology change. If the topology changes at a distant switch, the current designated or root ports may need to start blocking, and a blocking interface may need to change to a designated or root port. A switch cannot detect this on a port where it is not sending or receiving BPDUs. STP is dynamic, and it needs to detect and respond to topology changes, even from the other side of a large STP domain.
In practice, you really don't want to design a large or complex STP domain, but people do, and STP needs to be able to deal with that.