There are two considerations: boundary resolution and triangulation. Let's start with the boundary. When a simplex is converted into cells, the boundary of each cell is the union of lesser cells. In a cw complex, the boundary of a cell is contained in the union of lesser cells. For example, take a disk and fold it over on itself, like a clam closing its shell. The boundary of the disk becomes the crack running along the front of the clam shell. This is a line segment with two endpoints. Pull the points apart, so that the segment extends beyond the shell on either side. Now the boundary of the disk is contained in the 1 skeleton, but it is not the union of 1 and 0 cells. We must refine the 1 skeleton by putting in two more vertices, where the line first meets the shell. This cuts the line segment into three pieces. It's the same space, but now we can triangulate the shell and its boundary to produce simplexes.
Boundary resolution gets even more complicated in higher dimensions, where the boundary of a ball might comsume part of a disk,etc. Once this is done, triangulation can begin. Add points, edges, faces, etc, as necessary, until everything is a simplex.
Let's begin with the 1 skeleton; it's not hard. The only thing that doesn't look like a 1 simplex is a loop, where both ends have the same vertex. Place two more points along the loop, cutting the segment into three pieces. Does this cause any trouble topologically? Add one point at a time and see what happens. Any set that is closed in the original loop, or interval, becomes closed in the two closed subintervals. (This because the intersection of two closed sets is closed.) Conversely, let a set W be closed in the two subintervals. A closed set in a closed set is closed, so each piece is closed in the original interval, and their union is closed. A set is closed in S iff it is closed in each closed interval, iff it is closed in the refined intervals. The topology is correct, and the refinement is a valid cw complex. By induction, we can add finitely many points to any interval without trouble. You can't add infinitely many points, because you might get a structure like the one described in the introduction.
Another thing to watch out for is a → b → a. These can be distinct paths in a cw complex, but there can only be 1 edge a ⇔ b in a simplicial complex. Add a new point to one of the arcs, and there is no trouble.
Let's do the 2 skeleton; it's still manageable. Focus on a disk, whose boundary becomes the image of the circle in a 1 complex. Call the image T, a subspace of S1. Since the domain is compact and the range is hausdorff, T is closed. Its intersection with every edge is closed. Suppose an intersection includes p, but does not include points on either side of p. This is a disconnected region of T. However, the image of T is connected, so this can't happen at all; or else all of T fits in one closed portion of the interval. In any case, we only need introduce at most 2 new endpoints to indicate where T starts and/or stops along the interval. Make this refinement for every interval, and S1 remains simplicial. Now the boundary of our disk consists of points and edges drawn from S1.
Do the above for all the 2 cells in the cw complex, in parallel. But this could cause trouble. Remember the clam, that closed its shell and bit off part of a wire? Place infinitely many clams along a wire. The clams become smaller as you approach the left endpoint p. This does not embed well in real space, but it is a valid cw complex consisting of infinitely many 2 cells, a 1 cell, and two endpoints p and q. Let T be the sections of wire that are bitten off by the clams. This is not closed in the segment pq, hence it is not a closed set. However, after refinement, infinitely many points are added to pq, and that spells trouble. Our set T is now closed in every closed cell, and has become closed. Therefore I will assume that cells never force an infinite refinement of a lower dimensional cell. One way to ensure this is to assume the cw complex is locally finite, i.e. each cell is part of the boundary of finitely many higher dimensional cells. Thus our 1 dimensional wire cannot hold the boundary of infinitely many disks. We already proved each disk adds at most to points to any given interval, hence the refinement of every interval is finite.
With the 1 skeleton properly refined, we can triangulate each disk in turn. By the definition of a cw complex, finitely many points and edges contain the boundary of the disk. This holds true even after refinement. Thus finitely many edges and points comprise the boundary of the disk. If it is one point p, then the disk closes up to form a sphere, with p at the north pole. Add three more points inside the disk, and join these with p to make four triangles, resembling the faces of a tetrahedron. This is simplicial - at least it's homeomorphic to a simplicial complex in an obvious way. Setting this case aside, the boundary of the disk is a sequence of points, with edges connecting those points. We have already refined S1, so the boundary won't be a loop, or two edges from a to b and back to a. There are at least three points; but the points could repeat, as when the disk wraps around the circle twice to build real projective space. We get around this by introducing a ring of points inside the disk, just inside the points on the boundary. Connect the inner ring to the outer ring, building a sequence of rectangles. each of these can be triangulated by adding a diagonal edge. Finally, a point at the center of the disk connects to each point in the inner ring, building a set of triangles that looks like a pie cut into slices. We have cut the closed disk into finitely many closed pieces, and each happens to be a 2 simplex. Technically, you need to prove the topology is still valid, but it is the same proof as we saw above. Cutting an n dimensional cell into finitely many closed pieces does not cause any trouble. That comnpletes the conversion of S2 into a simplicial complex.
Here is something that can go wrong in 3 dimensions, even in a finite cw complex. Unfortunately this example doesn't embed in R3, so you have to think in 4 space. As an analogy, picture a two dimensional disk pushed up at the middle to make a hemisphere. Then wiggle the boundary, the equator of the hemisphere, infinitely often, to cause trouble. That's what I'm going to do in higher dimensions. Take a closed unit ball and push "up" on its center, along the w axis, to make a hemisphere in 4 dimensions. The w coordinate is 1-x2-y2-z2, or something like that. When w = 0 we are left with the boundary, which is the 2 sphere in 3 space. Identify z with -z, thus mapping the southern hemisphere onto the northern hemisphere. The boundary of our 3 cell is a hemisphere, wich looks pretty much like a 2 dimensional disk. Embed this in a disk of larger radius. Now the boundary of the 3 cell becomes a closed disk inside a larger open disk, whose boundary consists of edges and points as usual. Now pull outward on the ball, which pulls outward on its spherical boundary. If you pull at the equator, the corresponding closed disk inside an open disk bulges outward. Let the bulge just touch the boundary of the larger disk, intersecting the edge in a single point. Create another bulge next to this one, and another, and another, decreasing in thickness. Infinitely many bulges cluster together, approaching a preexisting vertex p on the circumference of the larger open disk. The edge adjacent to p is touched infinitely often by the boundary of our 3 cell, and must be refined with infinitely many points. This messes up the topology, as described earlier. This simple cw complex, with only a handful of cells, cannot be refined into a simplicial complex. Sure - we can homotope this into something simplicial, but it's not clear that such a homotopy always exists, and homotopic and homeomorphic are not the same thing. We really want to build a homeomorphic simplicial complex, and that maynot be feasible.
Let a cw complex be explicit if each boundary comprises cells of lower dimension. The boundary of a 3 cell cannot cover part of a 2 cell, it must cover the entire 2 cell. Refinement is no longer necessary. With this assumption in place, I believe triangulation is always possible at all dimensions. Create an inner ring, or shell, of points, as necessary, to compensate for the fact that lower dimensional cells may repeat across the boundary of any given cell. Triangulate S2, then S3, then S4, and so on through all dimensions. Since each cell has a fixed dimension, each cell is triangulated along the way, and the simplicial complex is well defined, even if the cw complex has cells of arbitrarily high dimension. Note that a finite explicit cw complex becomes a finite simplicial complex.
Once S has been turned into a simplicial complex, or something homeomorphic thereto, it is locally simply connected, and it has a universal cover. Thus the descending earring, among other structures, is not homeomorphic to a cw complex.