The simplest explanation is this:
display.contentWidth is the value you set for width in your config.lua. The same for display.contentHeight. These will not changed based on device.
display.actualContentWidth, Height will changed based on device. It will take the actual pixel width/height of the device, scale it to your defined content area and give you the device size in your content units.
Example: width = 320, height = 480. The iPhone 5 is a 640x1136 pixel device. Pixel Width / Content width = 2, so actualContentWidth would be 320, actualContentHeight = 568.
Since your content area will likely be centered on the screen, by default, you can use actualContentWidth/height to find the right and bottom edges. Because of the centered area, 0, 0 will likely not be the left, top corner. That’s where display.screenOriginX, Y comes into play. These represent the left, top corners.
The iPhone X’s notch creates a unique challenge to developers. display.actualContentWidth and Height will be the measure of the full size of the screen including the notice. Your content area will still be centered on the screen and the rules with actualXX and screenOriginNN are the same. Your background should fill the whole area. You can use display.safeOriginX, Y to be the virtual left, top of the screen where you can put UI elements and keep them out of the notch area.
Rob