Old English cræft, originally "power, physical strength, might," from Proto-Germanic *krab-/*kraf- (cf. Old Frisian kreft, Old High German chraft, German Kraft "strength, skill;" Old Norse kraptr "strength, virtue"). Sense expanded in Old English to include "skill, art, science, talent" (via a notion of "mental power"), which led to the meaning "trade, handicraft, calling." The word still was used for "might, power" in Middle English.
Use for "small boat" is first recorded 1670s, probably from a phrase resembling vessels of small craft and referring either to the trade they did or the seamanship they required, or perhaps it preserves the word in its original sense of "power."