Difference between CTFT and DTFT?
The difference is pretty quickly explained: the CTFT is for continuous-time signals, i.e., for functions $x(t)$ with a continuous variable $t\in\mathbb{R}$, whereas the DTFT is for discrete-time signals, i.e., for sequences $x[n]$ with $n\in\mathbb{Z}$.

That's why the CTFT is defined by an integral and the DTFT is defined by a sum:

$$X(j\Omega)=\int_{-\infty}^{\infty}x(t)e^{-j\Omega t}dt\tag{1}$$

$$X(e^{j\omega})=\sum_{n=-\infty}^{\infty}x[n]e^{-j\omega n}\tag{2}$$

Note that in both cases, the frequency variables $\Omega$ and $\omega$ are continuous variables.

There is also the discrete Fourier transform (DFT), which can be applied to finite length (or periodic) sequences:

$$X[k]=\sum_{n=0}^{N-1}x[n]e^{-j2\pi kn/N}\tag{3}$$

It is easily shown that DTFT and DFT are related as:

$$ X\left(e^{j\omega}\right)\Bigg|_{\omega = 2 \pi\frac{k}{N}} = X[k] $$

when $x[n]=0$ for all $n&lt;0$ or $n\ge N$.

Note that the DFT of the length $N$ sequence $x[n]$ is also a length $N$ sequence $X[k]$. The DFT is important because there exist efficient algorithms to compute $(3)$. This class of algorithms is called Fast Fourier Transform (FFT).

The DFT can be used to approximately compute samples of the DTFT and of the CTFT. For finite length sequences, the DFT computes (exact) samples of the DTFT. For longer (or infinitely long) sequences, there is always a truncation error caused by considering only a finite length window of the data. When approximating the CTFT, there are two error sources: the truncation error, and the aliasing error caused by sampling the continuous-time signal. Since a signal cannot be time-limited and band-limited at the same time, at least one of those two errors is non-zero.