Drupal panels are the great effort to save time for the administrators to build custom pages with custom layouts. Using panels, administrator can build pages and add desired content on it. This does not require any programming or Drupal API knowledge. If you know the CSS, you can change tha appearance of the panel page by writing CSS rules for respective regions/panes.
The other approach is to use regions in template files of the theme. This is robust and can be controlled in the way you want. You can define the regions on info file of the theme and can decide where to display them on the page. These regions can be specific to certain pages and those pages should be unique. Working with Drupal templates takes a while to design and build and require some knowledge of Drupal API and Theme API.
It always depends on your requirement to decide what way to build the custom page design/layout. If you aim to re-use the region across multiple pages, you should do by defining a custom region in info file otherwise you should use panels which very quick to build and modify
