This question is almost the same as String vs &str , if that helps. PathBuf is String, &Path is &str. So:
Store a PathBuf if you want the struct to own it. If you don’t know what you want, start here.
Store a &Path if you just want a reference to a path. Depending on what you’re doing, this may be what you want, but if you don’t know, it’s probably not correct.