I've only ever used NikWax and Grangers. My understanding is that Grangers lasts about 2x as long because it's not wax based like NikWax. NikWax is better for the env't and it works well but it does wear off quicker.
Here's how I DWR:
1) Wash garment with a mild detergent that won't damage it. Your shirt could probably handle a regular detergent since it doesn't have a waterproof membrane.
2) Rinse garment again in washing machine because you need all the soap to be 100% gone
3) Use spray on DWR and heavily coat the garment while it's still damp. You don't want the garment totally soaked either, so if it's really wet put it in the dryer for 10min.
4) A couple minutes later when the DWR has soaked in, repeat step #3. Go heavy on the DWR. Runs are okay.
5) In total give the item several coats (3-5) of DWR about 5 minutes apart. This uses a lot of DWR but it works best.
6) Put clothing article in the dryer. Grangers especially needs this as it's heat activated, but all DWRs fair better if you put them in the dryer. Just be careful not to have the drier on so hot that it damages the clothes. This is more of a concern when you have an item with a waterproof membrane.
7) Dry the item for 1-2 hours. The heat activation doesn't really begin until the item is bone dry. So the item needs 30-45min to dry and then another 30-60 minutes to heat activate.
That's what I do and I'm always pleased with the results. In the past I've used DWR coatings that you poor in the washing machine but the problem with those is that a lot of the DWR is wasted. I don't think nearly as much winds up in the clothing as a lot goes down the drain. I've only used this once with poor results.