Simplicial sets are an extension to simplicial complexes (see page here).
To get to simplicial sets from simplicial complexes it is necessary to order (or partially order) the vertices.
In addition to the face maps in simplicial complexes we add degeneracy maps in the opposite direction these maps are order preserving.
Simplicial sets have an additional property that they are closed under products and this is important in Cubical TT for example.
Degeneracy
In homology (as portrayed on the page here) the emphasis is on the relationship between adjacent dimensions. For instance, if we take the boundary, we map from a given dimension to the dimension immediately below it (face maps). This situation can be modeled by simplicial complexes already described on the page here.
In homotopy (as portrayed on the page here) we may have an ndimensional path in a dimension several levels higher. This situation may be better modeled by simplicial sets as described here.
For a 2dimensional face in 2dimensional space all the vertices have different indices.  
For a 0dimensional point in 2dimensional space we can use the same index. This is a degenerate face. 
In cubical type theory degeneracy maps corresponds to weakening in Logic.
Simplicial Set Structure
In order to handle these degenerate faces better we add degenerate maps going in the reverse direction to the face maps.
We have maps going in both directions: Face Maps d_{i} : Degeneracy Maps s_{j} : Takes an nsimplex and gives its jth degenerate (n+1) simplex inside it. 
Face Maps
d_{i} : X_{n} > X_{n1}  0≤i≤n
Degeneracy Maps
s_{j} : X_{n} > X_{n+1}  0≤j≤n
Simplicial Identities
Note: when combining maps below the map on the right is done first. For example, d_{i} d_{j} means do d_{j} then do d_{i}.
Identity  An example of one case in a triangle {0,1,2} 

d_{i} d_{j} = d_{j1} d_{i} if i < j  
d_{i} s_{j} = s _{j1} d_{i} if i < j  
d_{j} s_{j} = id = d_{j+1} s_{j}  
d_{i} s_{j} = s_{j} d_{i1} if i > j+1  
s_{i} s_{j} = s _{j+1} s _{i} if i ≤ j 
Here are all the posible cases of the identities for the example of a triangle {0,1,2}.
example {0,1,2} 

left hand side  right hand side  
1st stage  result  1st stage  result  
d_{i} d_{j} = d_{j1} d_{i} if i < j  since i < j these are the only combinations allowed  d_{j}  d_{i} d_{j}  d_{i}  d_{j1} d_{i} 
i=0,j=1  {0,2}  d0d1={2}  {1,2}  d0d0={2}  
i=0,j=2  {0,1}  d0d2={1}  {1,2}  d1d0={1}  
i=1,j=2  {0,1}  d1d2={0}  {0,2}  d1d1={0}  
1st stage  result  1st stage  result  
d_{i} s_{j} = s _{j1} d_{i} if i < j  since i < j these are the only combinations allowed  s_{j}  d_{i} s_{j}  d_{i}  s _{j1} d_{i} 
i=0,j=1  {0,1,1,2}  d0s1={1,1,2}  {1,2}  s0d0={1,1,2}  
i=0,j=2  {0,1,2,2}  d0s2={1,2,2}  {1,2}  s1d0={1,2,2}  
i=1,j=2  {0,1,2,2}  d1s2={0,2,2}  {0,2}  s1d1={0,2,2}  
1st stage  result  1st stage  result  
d_{j} s_{j} = id = d_{j+1} s_{j}  s_{j}  d_{j} s_{j}  s_{j}  d_{j+1} s_{j}  
i=0  {0,0,1,2}  {0,1,2}  {0,0,1,2}  {0,1,2}  
i=1  {0,1,1,2}  {0,1,2}  {0,1,1,2}  {0,1,2}  
i=2  {0,1,2,2}  {0,1,2}  {0,1,2,2}  {0,1,2}  
1st stage  result  1st stage  result  
d_{i} s_{j} = s_{j} d_{i1} if i > j+1  since i > j+1 these are the only combinations allowed  s_{j}  d_{i} s_{j}  d_{i1}  s_{j} d_{i1} 
i=2,j=0  {0,0,1,2}  {0,0,2}  {0,2}  {0,0,2}  
1st stage  result  1st stage  result  
s_{i} s_{j} = s _{j+1} s _{i} if i ≤ j  since i ≤ j these are the only combinations allowed  s_{j}  s_{i} s_{j}  s _{i}  s _{j+1} s _{i} 
i=0,j=0  {0,0,1,2}  {0,0,0,1,2}  {0,0,1,2}  {0,0,0,1,2}  
i=0,j=1  {0,1,1,2}  {0,0,1,1,2}  {0,0,1,2}  {0,0,1,1,2}  
i=0,j=2  {0,1,2,2}  {0,0,1,2,2}  {0,0,1,2}  {0,0,1,2,2}  
i=1,j=1  {0,1,1,2}  {0,1,1,1,2}  {0,1,1,2}  {0,1,1,1,2}  
i=1,j=2  {0,1,2,2}  {0,1,1,2,2}  {0,1,1,2}  {0,1,1,2,2}  
i=2,j=2  {0,1,2,2}  {0,1,2,2,2}  {0,1,2,2}  {0,1,2,2,2} 
Simplicial Set from Delta Set
On the delta set page each type of simplex was indexed, for example:


This representation holds all these indexes so that we don't have to keep creating them and they can be used consistently.  
Face MapsSo the tetrahedron indexes its 4 triangles, each triangle indexes its 3 edges and each edge indexes its 2 vertices. Each face table therefore indexes into the next. To show this I have drawn some of the arrows (I could not draw all the arrows as that would have made the diagram too messy). 
The delta category Δ has:
The vertices of the simplicies are (partially) ordered by labeling them with natural numbers. Notation: [M] stands for a simplex with vertices 0 to M. For example: A morphism [M]>[N] is only defined if M≤N 

Δ^{op} has the same objects as Δ but the morphisms are reversed. The morphisms are now the same as the face maps above. 
We can then make this into a sheaf Δ^{op}>set (as described on page here). This separates out the structure inherent in the maps between simplicies of different dimensions and the structure which comes from gluing them together. Perhaps we can think of the simplex structure as the local structure and the gluing provides the global structure.
Simplicial Set
X: Δ^{op} > Set is a simplicial set
where:
 Δ is a finite totally ordered set {0,1,2...,n}
See page about chain complexes.
Notation
Δ  The delta category whose objects are the simplicies. 
Δ^{op}  The delta category with morphisms reversed. 
Δ^{n}  an nsimplex which may be degenerate 
Δ^{n}  Ordered nsimplex = [0, ... ,n] 
X  A simplicial complex. 
X_{n}  The set of all n simplicies of X 
d_{i}(x)  an order preserving function which removes the i^{th} element from a simplex 
s_{i}(x)  an order preserving function which duplicates the i^{th} element in a simplex 
D_{i}(x)  Like d_{i}(x) but in Δ^{op} so it increases the dimension rather than decrementing it 
S_{i}(x)  Like s_{i}(x) but in Δ^{op} so it decrements the dimension rather than increasing it 
Combinatorics
The degeneracy loosens the coupling between dimension and number of elements.
The following table shows the posibilities in a combinatorial way.
Each entry must be ordered, the element values can stay the same (degeneracy) but they must not decrease.
Degenerate entries (where an element occurs more than once) are shown in red.
n  Δ^{0}  Δ^{1}  Δ^{2}  ...  

0  {0}  {0} {1} 
{0} {1} {2} 

1  {0,0} 



2  {0,0,0}  {0,0,0} {0,0,1} {0,1,1} {1,1,1} 
{0,0,0} {0,0,1} {0,0,2} {0,1,1} {0,1,2} {0,2,2} {1,1,1} {1,1,2} {1,2,2} {2,2,2} 

3  {0,0,0,0}  {0,0,0,0} {0,0,0,1} {0,0,1,1} {0,1,1,1} {0,1,1,1} 
{0,0,0,0} {0,0,0,1} {0,0,0,2} {0,0,1,1} {0,0,1,2} {0,0,2,2} {0,1,1,1} {0,1,1,2} {0,1,2,2} {0,2,2,2} {1,1,1,1} {1,1,1,2} {1,1,2,2} {1,2,2,2} {2,2,2,2} 

... 
Products
One of the advantages of simplicial sets, over simplicial complexes, is that they simplify products (products of simplicial complexes on page here).
The rules are:
 (X × Y)_{n} = X_{n} × Y_{n} = {(x,y) xX_{n}, yY_{n}}
 if (x,y) (X × Y)_{n} then d_{i}(x,y) = (d_{i} x, d_{i} y)
 if (x,y) (X × Y)_{n} then s_{i}(x,y) = (s_{i} x, s_{i} y)
To take the product of two simplicial sets multiply all the terms which have the same dimension. Duplicates can be removed, also degenerate versions of existing terms can be removed, for example:
{[0,0],[1,1]} = {[s_{0}(0),s_{0}(1)]} = s_{0}{[0],[1]}
so that can cancel out with {[0],[1]}
Example  product of two lines Δ^{1}×Δ^{1}Multiplying out all the terms at each dimension and canceling out duplicates as above gives:

Cubical Set
A cubical version of simplicial sets is described on the page here.
Model Category
A model category is a context in which we can do homotopy theory or some generalization thereof; two model categories are ‘the same’ for this purpose if they are Quillen equivalent. (nlab) 
A model category (sometimes called a Quillen model category) is a context for doing homotopy theory.
It is a category equipped with three classes of morphisms, each closed under composition:
related structure in set  

weak equivalences  bijection  
fibrations  nice surjections (Serre fibrations)  
cofibrations  nice inclusions  neighborhood retract 
Quillen Equivalence
We need a mapping that preserves the structure of a topological space: the cycles, the boundaries, the holes and so on. However it does not need to conserve the exact points, faces of the complexes that hold them. The two shapes on the right are the same from a topology point of view they are a disk with a boundary round it. 

In order to do this we map the connections between the dimensions in the chain (boundaries), not the dimensions (points, faces, etc.) themselves. 
Simplicial Set in Category Theory
Objects  Morphisms  

Δ  ordered sets example: {0,1,2} 
Order preserving maps may be inclusions (add points), example: {0,1,2} > {0,1,2,3,4} 
Δ^{op}  ordered sets  Order preserving maps example: {0,1,2,3,4} > {0,1,2} may remove points (choose a face). 
Chain Homotopy
Weak Equivalences
Usually equivalences are defined in terms of two functors in opposite directions however a weaker notion of equivalence is defined in terms of a functor going in one direction only.
Fibrations
A Serre fibration arises when we reverse the functor defining the weak equivalence.
Cofibrations
In any model category:
 A fibration that is also a weak equivalence is called a trivial (or acyclic) fibration.
 A cofibration that is also a weak equivalence is called a trivial (or acyclic) cofibration.
Cubical Type Theory
Cubical type theory extends these concepts with the idea of an interval [0,1]. This is discussed further on the page here.
Code
Sage is mathematical software which implements simplicial sets, more about this on page here.