A wallet is a way of storing your private and public keypairs. It is used by various clients to check your balance and create new transactions. A client usually listens on port 8333, and has 8 other ports open for outgoing TCP/IP connections. It finds peers through various means - exchanging info with other peers, using fallback nodes, seed nodes and so forth. Its main purpose is to exchange information with its peers about new blocks, transactions and the like in a peer-to-peer fashion.
A miner is an application connected to a mining pool. The mining pool runs its own client to get the latest information on blocks and transactions, as well as handling the creation of new blocks. The pools generally use port 8332 for communicating with their miners. It is a server that communicates with a lot of miners through the use of HTTP JSON RPC, and usually comes with a website of some sorts. The miners find the pool, and the pool doesn't care about peers (it has a client for that).
A miner is an application that runs on local mining rigs (computers with high-end GPUs and other dedicated devices). It communicates with a mining pool through HTTP JSON RPC calls. The miner connects to (usually) one pool of a predetermined address, but the getwork protocol facilitates the use of backup pool addresses. The miner is responsible for getting "work" from a pool, processing it, and submitting shares back to the pool. A miner does not care about its peers, just the pool it is connected to.
I hope that clears out all the problems you had. You might also be interested in checking out my master thesis on Bitcoin for more information on numerous subjects related to Bitcoin, mining pools and security.
Fantastic paper! I'll be sharing that with many people. I do have some follow up questions on topics that weren't clear to me I'll post as separate questions on SE. – goodguys_activate – 2012-09-17T01:35:08.190
@makerofthings7 I'm glad you enjoy it, and feel free to ask anything, this is what this site is for:). – ThePiachu – 2012-09-17T03:50:47.563
OK :) - In section 4.4.5 ...What is a safe transaction? – goodguys_activate – 2012-09-17T04:08:08.027
@makerofthings7 I think what I meant that IF RIPEMD-160 ever is considered compromised and unsafe, people should be using other transaction formats in order to send coins safely, for example by paying directly to a public key, rather than a Bitcoin address. – ThePiachu – 2012-09-17T04:19:47.793
Aah, I was thinking the same for secp256k.. since it is so bitcoin specific; though the paper didn't tell me when or how that was being used. I'll post that is a dedicated question. – goodguys_activate – 2012-09-17T04:28:36.527
@ThePiachu miners don't have to connect to mining pools, right? – Kinnard Hockenhull – 2012-12-07T15:46:59.510
@KinnardHockenhull Miners need to connect to something in order to get their work. It can be a pool, a p2pool, or just bitcoind running on the same machine. In general though, it's most often a pool or something acting like a pool. – ThePiachu – 2012-12-07T20:37:59.680