What are the main differences between the "unitary coupled cluster" and the "hardware efficient" ansatzes in VQE?

There are two popular initial states, in general, for VQEs: the unitary coupled cluster ansatz and the hardware efficient ansatz (for details, see here: https://quantaggle.com/algorithms/ansatz/). Intuitively, what are the main differences between these two and when do we prefer one to the other?

The original proposal to do calculate the molecular ground state energy was to use quantum simulation and quantum phase estimation, like what proposed through this paper: Simulated Quantum Computation of Molecular Energies and Simulation of Electronic Structure Hamiltonians Using Quantum Computers. Unfortunately, even though efficient, it still is very expensive for current hardware. Current hardware are noisy and don't have too many qubits, hence the name Noisy Intermediate-Scale Quantum (NISQ). So quantum simulation and phase estimation is not achievable.

This is when the Variational Quantum Eigensolver (VQE) came out. It tries to mitigate the some of this circuit depth issue to the number of circuits one would need to perform... through the use of variational principle. Notice that calculate $$\langle \psi(\theta) | H| \psi (\theta) \rangle$$ you have to use many quantum circuits as $$H = \sum_{i}^{poly(N)} \alpha_i P_i$$ and so $$\langle H\rangle_{\psi(\theta)} = \sum_{i}^{poly(N)} \alpha_i \langle P_i \rangle$$ but we can only measure in the computational basis so many circuits will be needed to do this calculation. Note that the decomposition of the Hamiltonian $$H$$ to Pauli strings is only in $$O(poly(N))$$ for the certain problems (like the molecular electronic Hamiltonian). But for a general Hamiltonian, you would need $$4^N$$ terms.

In any case, the question now is, what is the implementation of $$U(\theta)$$? The space of unitary matrices is huge (there are uncountable many unitary matrices)... but motivated by classical methods, the original paper of VQE proposed to implement $$U(\theta)$$ through the use of UCCSD, which is chemically motivated. Furthermore. this can be implement efficiently on a quantum computer. This is great, but it is still way too expensive for current quantum hardware! To see why, let's look at the UCCSD circuit for the $$LiH$$ problem that being used as an example in the Qiskit tutorial. There is no way any current quantum hardware will be able to do something like that. So this is where the Heuristic Ansatze idea came about. People tried and still trying (like here or here or here and many more) to find ways to design quantum circuit( $$U(\theta)$$ ) that is very short-depth but still able to achieve an energy that is within the ground state energy within chemical precision. Because it is a heuristic ansatze, we don't usually know if we will be able to achieve an energy within chemical accuracy, opposed to the UCCSD ansatze. However, heuristic ansatze allows us to design quantum circuit that matches the hardware layout. This way, you can save a lot of the swapping overhead that you would encounter otherwise.