Karma is easy to flatten into either fatalism or a moralized version of physical determinism, and both traditions that teach it work to resist the flattening: unlike fate, karma is not a fixed script written in advance, since new action continually generates new karma and can, on most readings, modify or override the trajectory set by past action, which is exactly why ethical effort remains meaningful rather than futile within a karmic universe.
Unlike ordinary physical causation, karma is explicitly a moral law, tracking the intention behind an act rather than merely its physical effects, a distinction dependent origination, pratityasamutpada, generalizes into a full causal account of how suffering itself arises and can be brought to an end, making the two doctrines close cousins within Buddhist thought without being identical, since dependent origination describes conditioned arising generally while karma names its specifically moral, action-based form.
Critics, both from outside these traditions and from reform movements within them, have long pressed the same objection: a doctrine that explains present suffering by appeal to unverifiable past-life conduct risks excusing present injustice as deserved, a charge Hindu and Buddhist ethicists have answered in various ways but have never treated as fully closed.