Ask a geologist and he or she will tell you:
Stream - any body of moving water that moves under gravity to progressively lower levels, in a relatively narrow but clearly defined channel on the surface of the ground.
Brook - a small stream or rivulet, commonly swiftly flowing in rugged terrain, of lesser length and volume than a creek. A term used in England and New England for any tributary to a small river or to a larger stream.
But for us less technically-inclined folks, it is usually presumed that a "stream" has a strong current in a particular direction, while a "brook" is a smaller, narrower, "softer" version of a stream (if there is a current, it is not very strong, hence the term "babbling brook"). :-D