I'm not making excuses.. Romans had every means to easily curb stomp either group, and did so on many occasions. They just discovered it wasn't worth staying there.
Caesar himself absolutely massacred the Germans and crossed the Rhine on multiple occasions but declined to stay.
I think you are incredibly underestimating the underdeveloped nature of both Germanic and Pictish society at the time. The whole of Germany was a forest with not one major population center. The first cities in Germany were actually built by the Romans in the regions they did end of occupying. There was nothing to conquer except incredibly scattered groups of tribesmen spread out over thousands of square miles with no practical wealth. They were still subsistence farmers at best yet still often hunter gatherers.
Here is what an actual Roman thought of Germany.
"Then, besides the danger of a boisterous and unknown sea, who would relinquish Asia, Africa, or Italy, for Germany, a land rude in its surface, rigorous in its climate, cheerless to every beholder and cultivator, except a native?" -Tacitus
The situation with the Picts was remarkably similar. Conquering their lands gained them nothing and would have cost them exponentially more to conquer and maintain. The one actual battle fought against the Picts did not go well at all for them.
Per Tacitus all of the Pictish tribes united, numbering over 30,000 were met by about 2 legions (11,000 men) and were repulsed after just one charge, losing as many as 10,000 men while the Romans lost only a few hundred.
Rome was incredibly practical and ruthless. There was no profit or strategic gain in conquering either territory or they would have been.