As the match goes on, I notice the respawn time increases significantly. Why is that? Is it number of deaths, length of the match, character level, or something else entirely?
The respawn time is determined solely by the hero level, following a very simple formula:
There are a few things which can lower that value. Bloodstone decreases your respawn time by 4 per charge. It is possible to spawn instantly if the number of charges in the Bloodstone is greater than the hero level. Techies' skill Suicide Squad, Attack! halves his spawn time when utilized.
You can also buyback to spawn instantly. However it is costly (100 + (Level*Level*1.5) + (GameTime*15)) and has a large cooldown. (240 seconds)
As the dota 2 wiki doesn't say anything conclusive on this matter, we can safely presume it follows the dota 1 mechanics.
So,the only thing that influences your dead-time is character level. Also, if you have bloodstone (based on the bloodstone charges you have) this reduces your time spent dead. Also, if you use Suicide from techies(Techies is not yet implemented) this will drastically reduce your time spent dead.
As this is still near the top of the Google search results, I figured I'd update it with latest information.
As of today, there are a number of factors that effect your respawn time:
The standard formula, for when no bloodstone or abilities are involved and you died of "natural causes", shall we say, is 4L (where L is your level, just multiply it by 4).
Techies suicide halves the respawn time, so it would be 4L/2 (or just 2L, to simplify).
Necrophos Reapers Scythe ability adds 30 seconds to your respawn timer, so the formula is 4L+30.
Bloodstone reduces death time by 4 seconds per charge, so your formula becomes 4L-4B (where L is still your level, and B is the number of bloodstone charges. If this reaches zero, sadly, you do not revert the game time by however many seconds, you simply respawn instantly. This has strange effects with abilities like timberchain.
Previous death buyback increases the death timer by 25% of the time that was remaining at the time you previously bought back. The formula looks a bit like 4L+P/4, where P is the time that you had to respawn in your previous death, when you bought back. Example: If you bought back with 100 seconds until natural respawn, your next death timer will be extended by 25 seconds (the maximum possible extension for this modifier without incorporating a non-aghanims sceptre Necrophos ultimate which adds 30 seconds).
Finally, onto the way I found this particular Q&A, I was trying to calculate the maximum possible death timer. So, our formula for this (when combining a previous buyback with Reapers Scythe) 4L + 30 + P / 4. If you're level 25, and you previously bought back with the maximum (130 seconds) remaining... You're looking at something like: 4 * 25 + 30 + 130 / 4, which = 162.5 seconds.
So, to answer your question, read the above. To answer my question, 162.5 seconds. However, DotA currently has a bug (as of the date of writing this) by which the respawn timer only accepts a single signed byte (maximum value of 128), so it doesn't display any time above 128. The timer should still be active for the correct time, however.