How do I extend another plugin? I'd like to know if it's possible to extend another plugin with my own.

I'm currently using the Sprout Forms plugin to create a contact form on our website, and I would like to extend that so when a user submits the form, it signs them up to a campaign monitor list as well (with their permission of course).

Is this possible with Craft? If so where in the documentation would I look for more info?
I believe what you asking about are Hooks and Events.  Craft has several of them listed in the Hooks Reference and Events Reference.  And Craft also allows us to add Hooks and Events in our plugins, which other plugins can leverage.

In the case of Sprout Forms, as of this post, we don't have any documented events yet, but there are a couple in there and we'll be formalizing them more in the next release.

You'll probably want to take a look at sproutForms.beforeSaveEntry Event.  Right now, plugins like Sprout Invisible Captcha, SpamGuard, and Snaptcha use that Event to add spam protection to Forms.  You could use that event as well to check for a confirmation field, and add a user to a list in Campaign Monitor.

Here's an example of how SpamGuard uses the event, which you can see here in the init() method of primary plugin class file (I've added the comments myself in relation to your question):

# Check for an Event in your plugins init method
public function init()
{
    # If you add a setting that allows a user to turn your integration on or off
    # you can check for that setting here, before you run your code
    if ($this-&gt;getSettings()-&gt;getAttribute('enableSproutFormsSupport'))
    {
        # Listen for the event where you want to add behavior
        craft()-&gt;on('sproutForms.beforeSaveEntry', function(Event $event)
        {
            # Do your thing!
            $spam = spamGuard()-&gt;detectDynamicFormSpam($event-&gt;params['entry']);
            if ($spam)
            {
                $event-&gt;fakeIt  = true;
                $event-&gt;isValid = false;
            }
        });
    }
}