Say I only had two types of tiles (water and sand) represented with a "W" and an "S", there are only a few cases to consider:
we are only looking at the case of the middle tile here:
-water surrounded by water:
WWW
WWW
WWW
here we only need one tile to represent this case
-water with one sand:
WWW
WWS
WWW
WSW
WWW
WWW
WWW
SWW
WWW
WWW
WWW
WSW
four different cases, if the texture can only tile in one orientation we need four textures for all the cases, if the texture can be tiled in all orientations (which would be very odd for water due to the wave orientation) we would only need one tile.
-surrounded by 2 sand would be two types or 8 depending if it can be rotated or not.
WSW
WWW
WSW X4
WSW
WWS
WWW X4
multiply these two cases by four if they cannot be rotated (like waves in water for example because it would look wierd)
-surrounded by 3 sand:
WSW
WWS
WSW X4
one case if it can be rotated, if not then four cases
-surrounded by 4 sand:
WSW
SWS
WSW X1
here there is never need for rotation so it would be only one special transition tile in either case.
When dealing with tileable textures the usual case is that they cannot be rotated due to wave orientation, grass orientation etc... Only some textures can be tileable even when rotated like stone pebble texture for example (and even then would be hard to create such a texture).
So just for two types of tiles we would need 19 diffrent textures! (counting all rotation cases + the two basic tiles), and that is only if diagonals do not affect the tiles (which in some cases they might).
If we only go up to 3 different tile types (water, sand, grass) the combinations of surrounding tiles is inmense!
WGS
SWG
SWG
above is just one example to get an idea of how many wierd combinations could be possible...
If we go up to 6 (water, sand, grass, dirt, stone, snow), which is still pretty basic for a game, the amount of tiles needed to take account for every possible combination is prohibitly high.