a stain is temporary whereas dyes are permanent and can be removedonly after cell wall destruction
A dye is coloring agent used for general purposes and a stain is used for any biological speciman staining. Also dye is crude and stain is purified form.
Dyes are colorants that are usually mixed in an oil such as mineral spirits, or in water or alcohol as a carrier. The dyes used in woodworking are actually very similar to those used for dying cloth and other materials. Dyes are characterized as transparent, as they bring about color changes in wood without obscuring the figure. The molecular size of the dye particles is so small they allow light to pass through virtually unhindered.
In my experience water-based dyes seem to be more lightfast than alcohol-based dyes, while oil-based dyes fade the fastest. I use alcohol-based dyes to make shaders by adding them to lacquer or shellac. By then gently spraying on very thin layers, I can blend unlike areas together or change the overall hue while retaining as much clarity as possible. There's nothing like the shimmer of a highly prized timber!
Stains are really nothing more than very thin oil or water-based paints. Whereas dye stains are typically comprised of only dye and a carrier, stains are comprised of pigment, a carrier and a binder. Using a thin varnish (oil-based) or acrylic latex (water-based) as a binder, ground particles of natural and synthetic minerals are added to make stains. Stains should be stirred often to insure an even dispersion of pigment because the particles tend to settle on the bottom.....don't you just hate gravity?!
In many of my finishing schedules I combine both stains and dyes for adding depth in carvings, hiding veneer lines and blending unlike woods together. I will say however, I can't imagine why anyone would use a pigmented stain on any highly figured wood - with more than one application, the grain will be so obscured that the piece may as well be painted.