Some example matrices matching your dimensions:
m1 = Array[Subscript[a,##]&, {4,2}];
m2 = Array[Subscript[b,##]&, {4,4}];
m3 = Array[Subscript[c,##]&, {4,6}];
For example:
m1 //TeXForm
$\left(
\begin{array}{cc}
a_{1,1} & a_{1,2} \\
a_{2,1} & a_{2,2} \\
a_{3,1} & a_{3,2} \\
a_{4,1} & a_{4,2} \\
\end{array}
\right)$
The problem with your use of ArrayFlatten was that it was missing brackets. The following works fine:
ArrayFlatten[{{m1, m2, m3}}] //TeXForm
$\left(
\begin{array}{cccccccccccc}
a_{1,1} & a_{1,2} & b_{1,1} & b_{1,2} & b_{1,3} & b_{1,4} & c_{1,1} & c_{1,2} & c_{1,3} & c_{1,4} & c_{1,5} & c_{1,6} \\
a_{2,1} & a_{2,2} & b_{2,1} & b_{2,2} & b_{2,3} & b_{2,4} & c_{2,1} & c_{2,2} & c_{2,3} & c_{2,4} & c_{2,5} & c_{2,6} \\
a_{3,1} & a_{3,2} & b_{3,1} & b_{3,2} & b_{3,3} & b_{3,4} & c_{3,1} & c_{3,2} & c_{3,3} & c_{3,4} & c_{3,5} & c_{3,6} \\
a_{4,1} & a_{4,2} & b_{4,1} & b_{4,2} & b_{4,3} & b_{4,4} & c_{4,1} & c_{4,2} & c_{4,3} & c_{4,4} & c_{4,5} & c_{4,6} \\
\end{array}
\right)$
Another alternative is to use Join:
Join[m1, m2, m3, 2] //TeXForm
$\left(
\begin{array}{cccccccccccc}
a_{1,1} & a_{1,2} & b_{1,1} & b_{1,2} & b_{1,3} & b_{1,4} & c_{1,1} & c_{1,2} & c_{1,3} & c_{1,4} & c_{1,5} & c_{1,6} \\
a_{2,1} & a_{2,2} & b_{2,1} & b_{2,2} & b_{2,3} & b_{2,4} & c_{2,1} & c_{2,2} & c_{2,3} & c_{2,4} & c_{2,5} & c_{2,6} \\
a_{3,1} & a_{3,2} & b_{3,1} & b_{3,2} & b_{3,3} & b_{3,4} & c_{3,1} & c_{3,2} & c_{3,3} & c_{3,4} & c_{3,5} & c_{3,6} \\
a_{4,1} & a_{4,2} & b_{4,1} & b_{4,2} & b_{4,3} & b_{4,4} & c_{4,1} & c_{4,2} & c_{4,3} & c_{4,4} & c_{4,5} & c_{4,6} \\
\end{array}
\right)$
Finally, if you try to construct a matrix of matrices, another possibility is to use Flatten:
Flatten[{{m1, m2, m3}}, {{1,3}, {2,4}}] //TeXForm
$\left(
\begin{array}{cccccccccccc}
a_{1,1} & a_{1,2} & b_{1,1} & b_{1,2} & b_{1,3} & b_{1,4} & c_{1,1} & c_{1,2} & c_{1,3} & c_{1,4} & c_{1,5} & c_{1,6} \\
a_{2,1} & a_{2,2} & b_{2,1} & b_{2,2} & b_{2,3} & b_{2,4} & c_{2,1} & c_{2,2} & c_{2,3} & c_{2,4} & c_{2,5} & c_{2,6} \\
a_{3,1} & a_{3,2} & b_{3,1} & b_{3,2} & b_{3,3} & b_{3,4} & c_{3,1} & c_{3,2} & c_{3,3} & c_{3,4} & c_{3,5} & c_{3,6} \\
a_{4,1} & a_{4,2} & b_{4,1} & b_{4,2} & b_{4,3} & b_{4,4} & c_{4,1} & c_{4,2} & c_{4,3} & c_{4,4} & c_{4,5} & c_{4,6} \\
\end{array}
\right)$
The nice thing about using Flatten is that the column dimensions don't have to match. For example:
Flatten[{{m1, m2}, {m3}}, {{1,3}, {2,4}}] //TeXForm
$\left(
\begin{array}{cccccc}
a_{1,1} & a_{1,2} & b_{1,1} & b_{1,2} & b_{1,3} & b_{1,4} \\
a_{2,1} & a_{2,2} & b_{2,1} & b_{2,2} & b_{2,3} & b_{2,4} \\
a_{3,1} & a_{3,2} & b_{3,1} & b_{3,2} & b_{3,3} & b_{3,4} \\
a_{4,1} & a_{4,2} & b_{4,1} & b_{4,2} & b_{4,3} & b_{4,4} \\
c_{1,1} & c_{1,2} & c_{1,3} & c_{1,4} & c_{1,5} & c_{1,6} \\
c_{2,1} & c_{2,2} & c_{2,3} & c_{2,4} & c_{2,5} & c_{2,6} \\
c_{3,1} & c_{3,2} & c_{3,3} & c_{3,4} & c_{3,5} & c_{3,6} \\
c_{4,1} & c_{4,2} & c_{4,3} & c_{4,4} & c_{4,5} & c_{4,6} \\
\end{array}
\right)$
ArrayFlatten[{{A, B}, {C, D}}]– andre314 May 30 '19 at 19:36