No, ^ or \A is not always necessary for a regular expression. Sometimes we would include them in our expressions, if required, especially for validating strings.
In your example, this applesauce is delicious is the string, and ^(apple) will not match our string here, because our string does not start with apple, starts with this:
If we remove the start anchor, our expression would look like:
(apple)
which has a capturing group (), then that would find and capture apple in any part of our string.
If we add a word boundary to our expression, for instance:
(\bapple\b)
then, we would be only finding apple as a separate word, not as a part of a sub-string, if you will, thus we would not capture applesauce.
RegEx Circuit
jex.im visualizes regular expressions:

Difference between line and string
String refers to the entire input to our expression, which may be only one line or may consist of several lines (such as a paragraph). For instance, this is considered a string, which has multiple lines:
this applesauce is delicious this applesauce is delicious
apple is delicious apple is delicious
apple is delicious
apple is delicious
apple is delicious
Great Question
In the last question, apple ^(his) will not match:
apple 
his
because there is a new line between apple and his, yet an space ( ) or \s is not sufficient, however
apple\s*^(his)
will match that, since \s* passes both space and new lines as well, even though ^ may not be necessary there.