For medium to large runs, screen printing is the easiest and cheapest. It is also the most common method. It takes some time to set up the job (make the screen, expose the screen, wash and dry the screen, set up machine, etc.) which is why it is not ideal for very small runs, but once it's all set up you can print many, many shirts per hour. It takes some time to learn and practice the process, but it is very efficient. The equipment is the biggest investment, few thousand bucks for the press, chemicals, ink, etc.
Heat transfers come in different styles. You can get screen printed transfers, which is basically a screen print, but on paper instead of the garment. This is the easiest way to make quality prints, but a little more time consuming on large jobs just because of the nature of applying heat transfers. This method is more expensive per print because you're buying them from someone else and applying them, but you don't need to invest in any screen printing equipment.
Vinyl heat transfer is clean and easy, but time consuming. You cut out your design on a vinyl cutter, but then must weed out the unused vinyl which leaves your design exposed and ready to heat transfer. Takes a long time to do each print, and hard to do multiple color vinyl transfers (in my experience, anyway).
Inkjet transfers are printed from the computer and heat applied to a shirt. Lower quality, good for one-off shirts.
DTG - incredible for small runs or one-off designs. Great for printing on-demand. However the machines and ink are very expensive, and large runs will take forever to do.
Those are just my personal opinions on the different methods.