-(으로) 인하다 refers to a direct reason or cause of something (it stresses cause and effect), while -에 의하다 indicates some mechanism, source, or procedure that brings about something (not as categorical as 인하다). There is some overlap in meaning between the two, but -에 의하다 also has the sense of -에 따르다, which means "according to" or "going by (a source of information)" (따르다 can also mean "to follow" in a different usage). -에 의하다 sort of sits between -(으)로 인하다 and -에 따르다.
All three are typically used in an attributive adjective form (인한, 의한, 따른) or as an adverb (인해(서), 의해(서), 따라(서), 의하면, 따르면).
- 정부 발표에 의하면/따르면 ... = According to the government announcement (information source).
- 그는 사고 후유증으로 인해 죽었다 = He died from complications caused by an accident (direct cause).
- 식물은 삼투 작용에 의해 [or 삼투 작용으로] 물을 발아들인다 = Plants draw in water through osmosis (mechanism).