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: 
As authtentictech noted above, disabling the editor can work (I create a text format of Full HTML-No Editor) to deal with the edge cases where this can pop up. Here, it's only straight code that is put in--no WYSIWYG editor is allowed for that format).

It can get really annoying when having to collaborate with editors, though (if they don't know how to code). If at all possible, it may be better for you to create HTML classes, since CKeditor is actually trying to help you avoid adding bad code and non-conforming visual design to your layouts.

Sometimes, the solution can be simple, as well--for instance, I use a custom icon font, and span classes are used to display icons in text. Per the developer's instructions, adding it to HTML text would be `<span class="[class name]"> </span>`. CKedtior interprets that space between the span tags as irrelevant, and strips it out. Adding `&nbsp;` in place of the space fixes it, and no changes to settings are required.
To configure Text Formats you can go to /admin/config/content/formats 

> 
> A text format contains filters that change the user input, for example stripping out malicious HTML or making URLs clickable. Filters are executed from top to bottom and the order is important, since one filter may prevent another filter from doing its job. For example, when URLs are converted into links before disallowed HTML tags are removed, all links may be removed. When this happens, the order of filters may need to be re-arranged.
> 
> 
> 

See [here](https://www.drupal.org/node/213156) for more information on text filters and input formats.