In this paper, we are interested in difference-of-convex (DC) decompositions of polynomials. We investigate polynomial decomposition techniques for reformulating any multivariate polynomial into difference-of-sums-of-squares (DSOS) and difference-of-convex-sums-of-squares (DCSOS) polynomials. Firstly, we prove that the set of DSOS and DCSOS polynomials are vector spaces and equivalent to the set of real valued polynomials R[x]. We also show that the problem of finding DSOS and DCSOS decompositions are equivalent to semidefinite programs (SDPs). Then, we focus on establishing several practical algorithms for DSOS and DCSOS decompositions with and without solving SDPs. Some examples illustrate how to use our methods.