why babai rounding technique does not work for finding closest vector using bad basis
The rounding algorithm, given $\mathbf{t=v+e}$ will output
\begin{equation}
\lfloor\mathbf{t}^t\cdot \mathbf{S}\rceil\cdot \mathbf{S}^{-1}=
\lfloor(\mathbf{v}^t + \mathbf{e}^t) \cdot \mathbf{S}\rceil\cdot \mathbf{S}^{-1}=
\mathbf{v}^t +\lfloor\mathbf{e}^t\cdot \mathbf{S}\rceil\cdot \mathbf{S}^{-1}
\end{equation}
where $\mathbf{v}$ is in the dual lattice. Now, the algorithm works correctly if $\lfloor\mathbf{e}^t\cdot \mathbf{S}\rceil$ becomes zero, which holds as long as both $\mathbf{e}$ and $\mathbf{s}_i$ are short enough (i.e., the basis is good enough)