The main purpose of wallets is to manage your key chain, i.e. the set of private keys that allows you to spend your bitcoins. For convenience and better user experience most wallets also track the addresses of your business partners, your transactions and your Bitcoin balance. There are both wallets that do this with full knowledge of the state of the blockchain as well as completely decoupled from the blockchain state (e.g. paper wallets).
The main purpose of mining software is to find an update increment to the Blockchain's state. To that end, mining software must find a set of inputs that corresponds to a winning block hash. In the most minimal setup, as a contributor to a pool, you only need to be able to increment the nonce, to recalculate the block header, and to perform an insane amount of SHA-256d operations.