Let's consider an indefinite integral
$$\int \frac{dx}{x\ln x}$$
It can be easily calculated to be $\ln(\ln x)+C$, e.g. via substitution $\ln x=t$ or directly from $\int\frac{f'(x)}{f(x)}dx=\ln|f(x)|+C$. So far so good.
But when integration by parts is employed: $u'=\frac{1}{x}$, $v=\frac{1}{\ln x}$, one gets
$$\int \frac{dx}{x\ln x}=1+\int \frac{dx}{x\ln x}$$
from which $0=1$. Even if we plug an arbitrary constant of integration in the r.h.s. of the last equality, we'll just get that $C$ should be $-1$ for the equality to be an identity (but in general the constant of integration can be put in at the very last step of integration; like here and here), and we'll still know nothing about the integral.
So, my question is: why does integration by parts fail in this case? Are there some assumptions not fulfilled that I have overseen here? An explanation that "it doesn't work so one has to use different methods" is no explanation.
The problem is that you are not specifying specific boundaries of integration when integrating by parts. The constant $C$ on the left and right will not turn out to be the same when you do specify boundaries of integration.
Indefinite integrals as written do not specify a single function $f(x)$, rather they specify a whole family of functions of the form $\{f(x)+C: C \in \mathbb{R}\}$. Given any such function, $f(x)+C$, $f(x)+ C +1 = f(x) + (C+1) = f(x) + C'$ is also in the set, and thus is also equal to the "indefinite integral". That's why they are called "indefinite", because they don't specify any specific function.