The secret to hash browns / home fries / breakfast potatoes
It sounds to me like the issue may be that you're crowding the pan.

Basically, to get everything nice and brown and crispy, you need enough space for all of the steam to escape.  That picture you showed has potatoes stacked on top of each other -- that means as the bottom items cook, they're going to end up steaming the items above them.

At a diner, they have a large griddle to work with -- they can really spread things out.  You're not typically that lucky in a regular kitchen, as you don't have as much space, and you have a lip on the pans that'll hold the steam in.

So, either work in smaller batches, or consider recipes that use an oven -- using sheet pans instead of a pan on the stove solves much of the problem.

One other trick is that most diners don't start from raw potatoes -- maybe with hash browns, but not for home fries, you're not going to get the nice soft interior in a reasonable amount of time unless you start with a potato that's already been baked or boiled.  (If you're doing things in the oven, you might be able to, but not in a pan)

Just for reference ... I have a 14" cast iron skillet that I use for home fries ... and it's about the right size for cooking a single large potato, which might be two servings, maybe three for kids.  (I tend to cook carb-heavy meals).

update : I probably should've stated this directly -- you want the chunks of potato to form a single layer in the pan, with space in between them.