Why we need modports?

in modports we have declare directions of signals, meanwhile even in clocking block also declaring the direction of signals. then why we need modports separately.

In reply to dorababu:

Modports are typically used as a design construct, whereas clocking blocks are used as a verification construct.

In reply to cgales:

Also, modport port directions represent data flow across a boundary, whereas clocking block directions represent sampling or driving activity. There are situations where there directions are not necessarily the same.

Synthesis tools require modport information because interfaces are typically at the boundary of input into the tool. Simulation tools are very lax in enforcing port directionality because of lax customers. :)