To start, of course you have to understand what subrogation is in the insurance context. It means that if there is an insurance claim paid out by your insurer to you for any reason, and it is then determined that another party is responsible, the insurance company would have the right to go after the negligent party for recovery of what it paid out.
Most leases provide that both landlord and tenant must maintain insurance. If there is a loss, then the party sustaining the loss would submit a claim for recovery under his/her policy. If the claim is a covered claim, the insurer would pay that party under the policy regardless of who is responsible for the damage. The subrogation waiver essentially provides that if there is a loss caused by the negligence of one party to a lease, the negligent party is will not be liable for the resulting damage to the extent that the damage is covered by applicable insurance proceeds. It prevents either party from going after the other party, or its insurer, for recovery of a claim paid regardless of who is responsible, so long as the damage is covered by insurance.
An example where a waiver of subrogation would come into play would be if a landlord's property was damaged. The landlord would submit a claim and receive recovery under his/her policy if the loss is covered by the policy. If it turns out the property was damaged by the tenant, then absent the waiver, the landlord's company would be required to pay the claim, but then it could seek to collect damages from the tenant. With the waiver of subrogation, the landlord's insurer could not pay the claim and then try to collect reimbursement from the tenant; rather if the claim was covered, landlord would receive payment and the insurer would not be able to seek recovery from the tenant thereafter.
Generally, a waiver of subrogation clause in a lease is something that both parties would want to have, since it protects each against liability for damage they may cause which is covered by insurance.