Getting the right colour can be a long process, you can change the shade, or sometimes the colour with the pH of the dye bath, also using an iron container often 'saddens' the colour.

There are some chemicals which will act as a mordant, hanging onto the colour with one 'hand' and the fabric with the other, so keeping the colour fixed on during washing - though it can't help if the dye fades in sunlight. You dissolve the mordant and soak the fabric in it before imersing it in the dye bath.

You might also need to know the fibre content of the item you are dyeing, particularly if you are using chemical dyes, as some work on plant material such as cotton and some on proteins such as wool, and they often require different mordants and conditions of pH and heat.

Some things, such as tea or coffee are what I call stains - requiring very little help to colour a fabric, or even skin.

When dyeing you do need to use a large container in order to get an even take up of the colour. About twice the minimum size for washing cloth of that length and width, because whilst it does not really matter if the suds hit a particular part of the cloth thirty seconds after the rest, it will result in an uneven colour if it is a dye bath, where you are relying on exposing every part of the cloth to the same concentration of dye for the same length of time.