So it seems like you have a general theme for a document that you want to typeset in a number of different ways. For this I would define a number of boolean variables/conditions and group your document content accordingly. That way you can make single changes to the document structure, yet the content will flow naturally from it.
Here's a quick example of your document structure:
\documentclass{<class>}
% <packages>
% <conditional definitions>
% <conditional declarations>
\begin{document}
% <condition 1>
% <document content>
% <end condition 1>
% <condition 2>
% <document content>
% <end condition 2>
% <more document content>
% ...
\end{document}
Here is a MWE implementing the above use case:
\documentclass{article}
% <packages>
\usepackage{lipsum}% http://ctan.org/pkg/lipsum
% <conditional definitions>
\newif\ifdocumenttext
\newif\ifequationdescriptions
\newif\ifequations
% <conditional declarations, default is all false>
\documenttexttrue% In-/exclude document text
\equationstrue% In-/exclude equations
\equationdescriptionstrue% In-/exclude equation descriptions
\begin{document}
\ifdocumenttext%
\section{Introduction}
This is my introduction
\fi%
\ifequations%
\[
f(x) = ax^2 + bx + c
\]
\ifequationdescriptions%
The above equation is a second-order polynomial in~$x$.
\fi%
\fi%
\ifequations%
\begin{equation}
g(x) = ax^3 + bx^2 + cx + d \label{eqn:poly}
\end{equation}
\ifequationdescriptions%
In~(\ref{eqn:poly}), $g(x)$ has at most three roots.
\fi%
\fi%
\ifdocumenttext%
\section{Conclusion}
This is my conclusion
\fi%
\end{document}
The above MWE compiles to:

Commenting out \documenttexttrue (or using \documenttextfalse) compiles to

Additionally commenting out \equationdescriptionstrue (or using \equationdescriptionsfalse) compiles to

The general intent is similar to creating a full document will all the content in it, but selectively commenting out the parts you don't want in a global yet systematic way as part of your document content using conditionals. You can, of course, expand on the conditionals, include them in different ways, or even use packages that provide this functionality (like etoolbox). I've just shown a use case above to steer you in the right direction. You could even include conditionals to properly typeset the document under different classes, like beamer. Note that conditional nesting is also possible.
Further abstraction is possible by adding the content to separate files and including them in your document using \input{<filename>}. The definitions of the conditionals can also be made into a separate file that you either \input or as part of a local .sty that you use via \usepackage{<style file>}. However, at this point, I'm not sure whether this is something you're after.
Liberal use of % in the above example allows the document to compile correctly under the different conditional settings. See What is the use of percent signs (%) at the end of lines? for the meaning of its use.