There are four primary reasons for tablets not having an upgrade path.
1. Chipset: There are a number of different chips in use. Just like you would not install and run Windows 7 on a Pentium chip, you would not run Froyo Android 2.2 on a VIA 8505 Chipped Tablet. The VIA chipset is too weak to run 2.2 effectively
2. Unique builds and Drivers. If you took a drive in a Toshiba notebook and stuck it in an HP notebook, the odd are it would bluescreen. This is the same problem for Tablets. The firmware contains drivers for the specific chipset and some chipsets do not have upgrade paths. These Chipsets were designed for 1.5 or 1.6
3. It is not profitable for the manufacturers to support a low cost tablet. There is not a lot of profit on the low price tablets (Less than $200USD) It is easier to build a newer and cheaper model which has the newer and cheaper chips which can support the current OS
4. There is a direct proportion of price to support. The higher the price. The more likely you will find Vendor or manufacture support Archos or Samsung is a good example. Expect updates
I will not touch the issue of Android source code for almost every tablet is a "secret recipe" model and most firmware cooks are only modding the second and third layer. Not the core OS version. That is delivered by the Manufacturer.