It really depends upon the quality of product you are after, the desire for return customers and any online service or local provider.
Be aware, there's no margin in T-shirts (you won't make any real money). Regardless of the shirt designs. Costs of shirts and printing will push production costs high and in order to compete with any other shirt vendor you have to keep retail pricing low. Unless you are planning on huge quantities, there's little point to trying to create a market for specific shirts. You can make some money, but profits per shirt are generally very very low unless you're dealing in quantities in the three or four figure range. Or you are doing your own production rather than paying another vendor for that aspect.
That being posted, quality of any vedor is key. Places such as cafepress.com or zazzle.com (purposely not made live links) are bottom-of-the-barel quality in many cases. Their process is essentially heat sublimation or iron-on. This means shirt designs fade and peel after a few washes. In addition to the iron-on appearance of any design. While adequate for the one-off sales that traditionally never spark return clientele, they are sorely lacking if trying to deal in quantity or create a brand.
There are other online vendors such as customink.com which do a much, much, better job and actually silk screen shirts. However, these vendors aren't "user shops". So its up to you to maintain inventory and do your own sales.
There's also the factor of artwork set up. If using the less expensive online vendors, they will accept practically anything in jpg or raster form. This is primarily because it's heat sublimation and they simply "print" an iron-on and apply it. However, with higher quality vendors who are silkscreening shirts, you need to be aware of the restrictions and requirements for silk screening. Setting up artwork for silkscreening will take much more time, effort, and expertise. This could also greatly impact production costs.
Once you determine which quality you are after, then it's a matter of price shopping between the online vendors and local merchants.