Well, I am looking to increase my post count. (The following might have some misunderstandings in it, but should give you the right idea.)
Mining is the process that creates new Bitcoins. I should really read up on the details, but there's a hash function that gets applied to a block (of transactions) to produce a number. Hashes take a bunch of data, or a long number, however you want to think about it, and reduce that to a fixed-length number.
In order for a block to be accepted, the hash produced has to be below a certain threshold, so there's some data that gets fiddled until the hash is a small enough number. This is a brute force operation that requires lots of tries. Graphics cards are especially good at that kind of thing. When you "solve" a block by getting the right hash, the first transaction in the block is 50 new Bitcoins that now belong to you.
Now, everyone on the entire Bitcoin network is competing for the same block at any given time. Because there's so much computing power on the network, chances of you being the first person to happen to get a valid hash is very low. Enter mining pools. When a mining pool solves a hash, the created Bitcoins are distributed among members of the pool based on how much computing power they contributed. A decent-sized pool will solve a good portion of the blocks, so members get a steady stream of smaller quantities of Bitcoins.
You need one worker per graphics card you apply to a pool. It's just a username and password that you use when pointing your mining program at whatever pool's address.
Is it an integral property of these blocks that brute-force is the accepted and preferred method? The intricacies of mining are a little over my head what with how little research I've done, but I would think that there ought to be a more efficient manner than brute-forcing, such as an algorithmic approach. Would such an approach inevitably introduce issues that brute-forcing wouldn't?