Question: I was trying use span and style tags in pages, rather than in CSS and it seems that Drupal is configured to strip them out whether the input format is *Filtered HTML*, i.e. they are applied to *Full HTML*.

Is that something which can be fixed only by editing the core files, or are the some modules or settings in Drupal's admin settings that can override that?

Answer: 
Go to Configuration -> Content Authoring -> Text formats. Here you can configure what tags are allowed.

All unallowed tags are stripped out, is always stripped out.

Check out <https://www.drupal.org/project/wysiwyg_filter> for more advanced filtering.
Are you using a WYSIWYG module like "CKEditor - WYSIWYG HTML"?

It appears to be this module or the CKEditor itself that is wrongly stripping out correct HTML such as inline styles, not Drupal.

There is a bug report open here <https://www.drupal.org/node/778200>

My current workaround is to disable the editor when adding these types of HTML so that I edit and save while in source mode.

You could also try using a different WYSIWIG editor besides CKEditor. This module allows several different editors to be used: <https://www.drupal.org/project/wysiwyg>