the 2 ways are right
depend of what you want to do : for a simple picture scrolling to the left or to the right, hardware scrolling (bplcon1) with 2 screens wide for full scroll is enought. (and you can make an animation in the empty half screen during the shift, like in Rampage/Tek).
use Blitter if you have a screenbuffer and copy source pic to the buffer (the size of the screenbuffer is the size of the screen, no more)
for up and down scrolling, several ways... bitplane pointers with screen*2, diwstart if you just want to move the screen to the bottom and nothing above, or raster wait before bitplane registers in coplist and move raster up/down, you can keep another screen above or below.
or use Blitter.
for a loop scrolling (like in Shadow of the beast), use hardware scrolling (bitplane and bplcon1) with large pic.
example with the "fred" scoopex cracktro :
flash remake
here and my asm remake
here
I used for the remake the Blitter to do parallax scrolls (!) with this pic:
but in the original, it's hardware scroll with this picture :