Don't need to install extension and make load on site.
go to
\app\locale\en_US\template\email\newsletter_subscr_success.html
delete full page content & from now you don't get any mail on news later subscription.
It would appear that you have it rendering in two places: left.newsletter and footerNewsLetter.
So try
<checkout_cart_index>
<remove name="footerNewsletter"/>
</checkout_cart_index>
<checkout_cart_index>
<remove name="left.newsletter"/>
</checkout_cart_index>
local.xml belongs under a theme in your package like so:
app\design\frontend\my-theme\default\layout\local.xml
You also should reference the parent block the newsletter was declared in.
<checkout_cart_index>
<reference name="footer">
<remove name="footer.newsletter"/>
</reference>
</checkout_cart_index>
UPDATE
Magento looks first for files in here app/design/frontend/custom_package/custom_theme/
then it looks for files in here app/design/frontend/custom_package/default
then it looks in here app/design/frontend/base/default
It will also look in the currently configured theme hierarchy for a local.xml
UPDATE
In your local.xml you are giving the block an alias footerNewsletter, you could also use that in your remove statement. Also like Amit says in his more precise answer, you should be using the cart controller in your layout update.
<checkout_cart_index>
<reference name="footer">
<remove name="footerNewsletter"/>
</reference>
</checkout_cart_index>
UPDATE
If you are unsure of how Magento's Theme Hierarchy works, I would suggest reading through the knowledge base article on the subject
You can set your package to be live on the site by going to System -> Configuration -> Design. Then use your custom_package name
Best Answer
Sadly this is only possible with extensions or by writing your own code. Subscribe at checkout is an extension that a lot of people use.