Limitations: There are no provisions in TIFF for storing vector graphics, text annotation, etc (although such items could be easily constructed using TIFF extensions), and so if this is a requirement you would be better off with a format with broader scope, such as PostScript, CGM, or PICT. TIFF is based on file-offsets, so that it is not easily "streamable" in the way JPEG JFIF streams are.
A common complaint of TIFF is rooted in its flexibility. For example the TIFF format permits both MSB ("Motorola") and LSB ("Intel") byte order data to be stored, with a header item indicating which order is used. There are old, poorly written TIFF programs on the PC which rebelled against this and assume that all TIFF files are Intel byte order. It is very easy to write a TIFF-writer, but very difficult to write a fully TIFF compliant reader.
Strengths: TIFF is primarily designed for raster data interchange. It's main strengths are a highly flexible and platform-independent format which is supported by numerous image processing applications. Since it was designed by developers of printers, scanners and monitors, it has a very rich space of information elements for colorimetry calibration, gamut tables, etc. Such information is also very useful for remote sensing and multispectral applications.
This format is best explained at source. Enjoy!