Hi @tessa_learner1 , You will find this helpful to develop a base understanding of the terminologies and APIs available.
Understanding AEM Resources In 10 Minutes / Blogs / Perficient
| Node | Resource |
| Building block of JCR (Java Content Repository) | Resources are pieces of content on which Sling acts upon. |
| Accessed by JCR APIs | Accessed using Sling APIs |
| JCR Assumes - Everything is content (Nodes) | Sling Assumes - Everything is Resource. Sling maintains a virtual tree of resources. |
| Write and Read operations to nodes is done using Session API | ResourceResolver defines the service API which may be used to resolve Resource objects. |

JCR API is a lower level API used to directly access and manipulate the underlying content repository. Apache Sling API is a higher-level web framework built on top of the JCR API.
The Resource and ResourceResolver interfaces are defined with a method adaptTo, which adapts the object to other classes. Using this mechanism the JCR session of the resource resolver calling the adaptTo method with the javax.jcr.Session class object. Likewise the JCR node on which a resource is based can be retrieved by calling the Resource.adaptTo method with the javax.jcr.Node class object.
Node node = resource.adaptTo(Node.class);
Using this you can switch between these two APIs and others. There are other set of APIs available to interact with content such as Page, Asset, PageManager etc.
"Where we need to use node ? resource and which is better"
As a general rule, unless you need the features available in the JCR API(Node), sticking with the Sling API will make your code more concise and less exception prone.
Good Reads
AEM Resource API. Resource API is most important… | by Imran Khan | Medium
Java™ API Best Practices in AEM | Adobe Experience Manager